版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、動(dòng)態(tài)HTML處理,第三部分課程概要,動(dòng)態(tài)html介紹 selenium和phantomjs 機(jī)器視覺(jué)和tesseract介紹,后續(xù)爬蟲(chóng)代碼的建議,動(dòng)態(tài)HTML技術(shù)了解,Selenium和PhantomJS,Selenium Selenium是一個(gè)Web的自動(dòng)化測(cè)試工具,最初是為網(wǎng)站自動(dòng)化測(cè)試而開(kāi)發(fā)的,Selenium 可以直接運(yùn)行在瀏覽器上,它支持所有主流的瀏覽器(包括PhantomJS這些無(wú)界面的瀏覽器),可以接收指令,讓瀏覽器自動(dòng)加載頁(yè)面,獲取需要的數(shù)據(jù),甚至頁(yè)面截屏 PhantomJS PhantomJS是一個(gè)基于Webkit的“無(wú)界面”(headless)瀏覽器,它會(huì)把網(wǎng)站加載到內(nèi)存并
2、執(zhí)行頁(yè)面上的 JavaScript,http:/selenium-python-zh.readthedocs.io/en/latest/waits.html,Selenium和PhantomJS入門(mén),加載網(wǎng)頁(yè): from selenium import webdriver driver = webdriver.PhantomJS(“c:/pantomjs.exe”) driver.get( driver.save_screenshot(長(zhǎng)城.png) 定位和操作: driver.find_element_by_id(“kw”).send_keys(“長(zhǎng)城”) driver.find_eleme
3、nt_by_id(su).click() 查看請(qǐng)求信息: driver.page_source driver.get_cookies() driver.current_url 退出 driver.close() #退出當(dāng)前頁(yè)面 driver.quit() #退出瀏覽器,頁(yè)面元素定位,用法: find_element_by_id (返回一個(gè)) find_elements_by_xpath (返回一個(gè)列表) find_elements_by_link_text find_elements_by_partial_link_text find_elements_by_tag_name find_ele
4、ments_by_class_name find_elements_by_css_selector 注意點(diǎn): find_element 和find_elements的區(qū)別:返回一個(gè)和返回一個(gè)列表 by_link_text和by_partial_link_text的區(qū)別:全部文本和包含某個(gè)文本 by_css_selector的用法: #food span.dairy.aged by_xpath中獲取屬性和文本需要使用get_attribute() 和.text,動(dòng)手練習(xí),模擬登陸豆瓣網(wǎng),cookie,Cookie相關(guān)用法: cookiename: cookievalue for cookie i
5、n driver.get_cookies() driver.delete_cookie(CookieName) driver.delete_all_cookies(),頁(yè)面等待,為什么需要等待 如果網(wǎng)站采用了動(dòng)態(tài)html技術(shù),那么頁(yè)面上的部分元素出現(xiàn)時(shí)間便不能確定,這個(gè)時(shí)候就可以設(shè)置一個(gè)等待時(shí)間,強(qiáng)制要求在時(shí)間內(nèi)出現(xiàn),否則報(bào)錯(cuò) 強(qiáng)制等待 time.sleep(10) 顯式等待(了解) 顯式等待指定某個(gè)條件,然后設(shè)置最長(zhǎng)等待時(shí)間。如果在這個(gè)時(shí)間還沒(méi)有找到元素,那么便會(huì)拋出異常了。 WebDriverWait(driver, 10).until( EC.presence_of_element_lo
6、cated(By.ID, myDynamicElement) 隱式等待(了解) 就是簡(jiǎn)單地設(shè)置一個(gè)最大等待時(shí)間,單位為秒。 driver.implicitly_wait(10),chromedirver下載地址:/mirrors/chromedriver phantomjs下載地址:/download.html,動(dòng)手練習(xí),爬取斗魚(yú)直播平臺(tái)的所有房間信息 ,應(yīng)用場(chǎng)景: 動(dòng)態(tài)html頁(yè)面請(qǐng)求 登錄獲取cookies 如何使用 導(dǎo)包并且實(shí)例化driver 發(fā)送請(qǐng)求 定位獲取數(shù)據(jù) 保存 退出driver Cookies相關(guān)方法: get_cookies() 頁(yè)面等待 強(qiáng)制等待,Selenium總結(jié),Tesseract,定義: Tesseract是一個(gè)將圖像翻譯成文字的OCR庫(kù)(光學(xué)文字識(shí)別,Optical Character Recognition) 安裝: sudo apt-get install tesseract-ocr 在python中調(diào)用Tesseract pip install pytesseract,Tesseract處理規(guī)范的文字,上圖的圖片如何轉(zhuǎn)化為字符串?,在終端中: tesseract test.jpg text 在py
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 脾胃虛弱動(dòng)畫(huà)冬病夏治
- 大叔爺爺課件教學(xué)課件
- 2024年分子篩項(xiàng)目投資申請(qǐng)報(bào)告代可行性研究報(bào)告
- 物聯(lián)網(wǎng)畢業(yè)設(shè)計(jì)論文
- 龍蝦的課件教學(xué)課件
- 牙體牙髓病常用藥物
- 2.1.2碳酸鈉和碳酸氫鈉 課件高一上學(xué)期化學(xué)人教版(2019)必修第一冊(cè)
- 糖尿病胰島素注射治療
- 新公司企業(yè)規(guī)劃
- 合唱團(tuán)說(shuō)課稿
- 手術(shù)切口感染PDCA案例
- 依托國(guó)家中小學(xué)智慧教育平臺(tái)開(kāi)展有效教學(xué)的研究課題申報(bào)評(píng)審書(shū)
- 小學(xué)大思政課實(shí)施方案設(shè)計(jì)
- 供應(yīng)室消防應(yīng)急預(yù)案演練
- 校運(yùn)會(huì)裁判員培訓(xùn)
- 潮濕相關(guān)性皮炎的護(hù)理
- 脊髓損傷課件
- 關(guān)于生殖健康知識(shí)講座
- 洪恩識(shí)字配套字庫(kù)完整版識(shí)字啟蒙200字-生字組詞句子完整版可打印-點(diǎn)讀指讀
- 幼兒園園長(zhǎng)的幼教教研與項(xiàng)目管理
- 兒童超重與肥胖培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論