国产探花免费观看_亚洲丰满少妇自慰呻吟_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”這個方法,他會實現你的夢想,你懂得?

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 富宁县| 象州县| 双鸭山市| 大安市| 乡城县| 双流县| 古浪县| 晋中市| 闽侯县| 武川县| 宜黄县| 岳阳县| 佛冈县| 平定县| 忻州市| 高阳县| 龙南县| 阳信县| 凤凰县| 鸡泽县| 贵定县| 临泉县| 阿鲁科尔沁旗| 曲沃县| 家居| 横山县| 巴林左旗| 襄汾县| 中西区| 灵石县| 永寿县| 襄樊市| 治县。| 十堰市| 行唐县| 炉霍县| 新竹县| 涞水县| 温泉县| 沙河市| 涞水县|