国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

學習Python selenium自動化網頁抓取器

2020-02-22 22:55:44
字體:
來源:轉載
供稿:網友

直接入正題---Python selenium自動控制瀏覽器對網頁的數據進行抓取,其中包含按鈕點擊、跳轉頁面、搜索框的輸入、頁面的價值數據存儲、mongodb自動id標識等等等。

1、首先介紹一下 Python selenium ---自動化測試工具,用來控制瀏覽器來對網頁的操作,在爬蟲中與BeautifulSoup結合那就是天衣無縫,除去國外的一些變態的驗證網頁,對于圖片驗證碼我有自己寫的破解圖片驗證碼的源代碼,成功率在85%。

詳情請咨詢QQ群--607021567(這不算廣告,群里有好多Python的資源分享,還有大數據的一些知識【hadoop】)

2、beautifulsoup就不需要詳細的介紹了,直接上網址::https://www.crummy.com/software/BeautifulSoup/bs4/doc/(BeautifulSoup的官方文檔)

3、關于mongodb的自動id的生成。mongodb中所有的存儲數據都是有固定的id的,但是mongodb的id對于人類來講是復雜的,對于機器來講是小菜一碟的,所以在存入數據的同時,我習慣用新id來對每一條數據的負責!

在Python中使用mongodb的話需要引進模塊 from pymongo import MongoClient,ASCENDING, DESCENDING ,該模塊就是你的責任!

接下來開始講程序,直接上實例(一步一步來):

引入模塊:

from selenium import webdriverfrom bs4 import BeautifulSoupimport requestsfrom pymongo import MongoClient,ASCENDING, DESCENDINGimport timeimport re

其中的每一個模塊都會說已經解釋過了,其中的re、requests都是之前就有提過的,他們都是核心缺一不可!

首先,我舉一個小例子,淘寶的自動模擬搜索功能(源碼):

先說一下selenium 的定位方法

find_element_by_idfind_element_by_namefind_element_by_xpathfind_element_by_link_textfind_element_by_partial_link_textfind_element_by_tag_namefind_element_by_class_namefind_element_by_css_selector

源碼:

from selenium import webdriverfrom bs4 import BeautifulSoupimport requestsfrom pymongo import MongoClient,ASCENDING, DESCENDINGimport timeimport redef TaoBao(): try:  Taobaourl = 'https://www.taobao.com/'  driver = webdriver.Chrome()  driver.get(Taobaourl)  time.sleep(5)#通常這里需要停頓,不然你的程序很有可能被檢測到是Spider  text='Strong Man'#輸入的內容  driver.find_element_by_xpath('//input[@class="search-combobox-input"]').send_keys(text).click()  driver.find_element_by_xpath('//button[@class="btn-search tb-bg"]').click()  driver.quit() except Exception,e:  print eif __name__ == '__main__': TaoBao()

效果的實現,你們可以直接復制后直接運行!我只用了xpath的這個方法,因為它最實在!橙色字體(如果我沒有色盲的話),就是網頁中定位的元素,可以找到的!

接下來就是與BeautifulSoup的結合了,但是我們看到的只是打開了網頁,并沒有源碼,那么就需要 “變量名.page_source”這個方法,他會實現你的夢想,你懂得?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 蓝田县| 宁远县| 太原市| 交口县| 长丰县| 缙云县| 高邑县| 庄河市| 延长县| 黄梅县| 万年县| 怀柔区| 县级市| 浙江省| 富蕴县| 山东省| 富民县| 边坝县| 洛宁县| 青神县| 金昌市| 家居| 句容市| 台前县| 高陵县| 孝感市| 鲁山县| 项城市| 永定县| 井冈山市| 凉城县| 贡嘎县| 北票市| 贺州市| 木兰县| 华坪县| 张家口市| 绥中县| 介休市| 青岛市| 额尔古纳市|