欧美亚洲综合图区在线|天天射天天干国产成卜|99久久免费国产精精品|国产的欧美一区二区三区|日韩中文字幕无码不卡专区|亚麻成人aV极品一区二区|国产成人AV区一区二区三|成人免费一区二区三区视频网站

當前位置:首頁 > 軟件開放 > 正文內(nèi)容

selenium網(wǎng)頁源碼xml解析(selenium 獲取html)

軟件開放2年前 (2023-04-16)2597

今天給各位分享selenium網(wǎng)頁源碼xml解析的知識,其中也會對selenium 獲取html進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!

本文目錄一覽:

selenium xml腳本怎么用

先對XPath做個簡坦培短介紹,之后用實例具體說明: 1.EXTJS的頁面源碼是多個div組成的,對于div id為常量時,可用div先定位,再由其讓裂唯他標簽定位,例如input field可用label name,button可用button上的文字來定位源春。 2.在定位更接近目標的節(jié)點時可用

python,求一個簡單的selenium+re的網(wǎng)頁源碼爬取

網(wǎng)頁爬取不一定要用Selenium,Selenium是為渣螞老了注入瀏覽器獲取點擊行為的調(diào)試工具,如果網(wǎng)頁無需人工交互就可以抓取,不建議你物臘使用selenium。要使用它,你需要安裝一個工具軟件,使用Chrome瀏覽器需要下載chromedriver.exe到system32下,如使用firefox則要下載geckodriver.exe到system32下。下面以chromedriver驅動chrome為例:

#?-*-?coding:UTF-8?-*-

from?selenium?import?webdriver

from?bs4?import?BeautifulSoup

import?re

import?time

if?__name__?==?'__main__':

options?=?webdriver.ChromeOptions()

options.add_argument('user-agent="Mozilla/5.0?(Linux;?Android?4.0.4;?Galaxy?Nexus?Build/IMM76B)?AppleWebKit/535.19?(KHTML,?like?Gecko)?Chrome/18.0.1025.133?Mobile?Safari/535.19"')

driver?=?webdriver.Chrome()

driver.get('url')#你要抓取百度文庫的URL,隨便找個幾十頁的替換掉

html?=?driver.page_source

bf1?=?BeautifulSoup(html,?'lxml')

result?=?bf1.find_all(class_='rtcspage')

bf2?=?BeautifulSoup(str(result[0]),?'lxml')

title?=?bf2.div.div.h1.string

pagenum?=?bf2.find_all(class_='size')

pagenum?=?BeautifulSoup(str(pagenum),?'lxml').span.string

pagepattern?=?re.compile('頁數(shù):(\d+)頁')

num?=?int(pagepattern.findall(pagenum)[0])

print('文章標題:%s'?%?title)

print('如升文章頁數(shù):%d'?%?num)

while?True:

num?=?num?/?5.0

html?=?driver.page_source

bf1?=?BeautifulSoup(html,?'lxml')

result?=?bf1.find_all(class_='rtcspage')

for?each_result?in?result:

bf2?=?BeautifulSoup(str(each_result),?'lxml')

texts?=?bf2.find_all('p')

for?each_text?in?texts:

main_body?=?BeautifulSoup(str(each_text),?'lxml')

for?each?in?main_body.find_all(True):

if?each.name?==?'span':

print(each.string.replace('\xa0',''),end='')

elif?each.name?==?'br':

print('')

print('\n')

if?num??1:

page?=?driver.find_elements_by_xpath("http://div[@class='page']")

driver.execute_script('arguments[0].scrollIntoView();',?page[-1])?#拖動到可見的元素去

nextpage?=?driver.find_element_by_xpath("http://a[@data-fun='next']")

nextpage.click()

time.sleep(3)

else:

break

執(zhí)行代碼,chromedriver自動為你打開chrome瀏覽器,此時你翻頁到最后,點擊閱讀更多,然后等一段時間后關閉瀏覽器,代碼繼續(xù)執(zhí)行。

python爬蟲怎么獲取動態(tài)的網(wǎng)頁源碼

一個月前實習導師布置任務說通過網(wǎng)絡爬蟲獲取深圳市氣橡差含象局發(fā)布的降雨數(shù)據(jù),網(wǎng)頁如下:

心想,爬蟲不太難的,當年跟zjb爬煎蛋網(wǎng)無(mei)聊(zi)圖的時候,多么清高。由于接受任務后的一個月考試加作業(yè)一大堆,導師也不催,自己也不急。

但是,導師等我一個月都得讓我來寫意味著這東西得有多難吧。。。今天打開一看的確是這樣。網(wǎng)站是基于Ajax寫的,數(shù)據(jù)動態(tài)獲取,所以無法通過下載源代碼然后解析獲得。

從某不良少年寫的抓取淘寶mm的例子中收到啟發(fā),對于這樣的情況,一般可以同構自己搭建瀏覽器實現(xiàn)。phantomJs,CasperJS都是不錯的選擇。

導師的要求是獲取過去一年內(nèi)深圳每個區(qū)每個站點每小時的降雨量,執(zhí)行該操作需要通過如上圖中的歷史查詢實現(xiàn),即通過一個時間來查詢,而這個時間存放在一個hidden類型的input標簽里,當然可以通過js語句將其改為text類型,然后執(zhí)行send_keys之類的操作。然而,我失敗了。時間可以修改設置,可是結果如下圖。

為此,僅抓取實時數(shù)據(jù)。選取python的selenium,模擬搭建瀏覽器,模擬人為的點擊等操作實現(xiàn)數(shù)據(jù)生成和獲取。selenium的一大優(yōu)點就是能獲取網(wǎng)頁渲染后的源代碼,即執(zhí)行操作后的源代碼梁笑。普通的通過 url解析網(wǎng)頁的方式只能獲取給定的數(shù)據(jù)慶哪,不能實現(xiàn)與用戶之間的交互。selenium通過獲取渲染后的網(wǎng)頁源碼,并通過豐富的查找工具,個人認為最好用的就是find_element_by_xpath("xxx"),通過該方式查找到元素后可執(zhí)行點擊、輸入等事件,進而向服務器發(fā)出請求,獲取所需的數(shù)據(jù)。

[python]?view plain?copy

#?coding=utf-8

from?testString?import?*

from?selenium?import?webdriver

import?string

import?os

from?selenium.webdriver.common.keys?import?Keys

import?time

import?sys

default_encoding?=?'utf-8'

if?sys.getdefaultencoding()?!=?default_encoding:

reload(sys)

sys.setdefaultencoding(default_encoding)

district_navs?=?['nav2','nav1','nav3','nav4','nav5','nav6','nav7','nav8','nav9','nav10']

district_names?=?['福田區(qū)','羅湖區(qū)','南山區(qū)','鹽田區(qū)','寶安區(qū)','龍崗區(qū)','光明新區(qū)','坪山新區(qū)','龍華新區(qū)','大鵬新區(qū)']

flag?=?1

while?(flag??0):

driver?=?webdriver.Chrome()

driver.get("hianCe/")

#?選擇降雨量

driver.find_element_by_xpath("http://span[@id='fenqu_H24R']").click()

filename?=?time.strftime("%Y%m%d%H%M",?time.localtime(time.time()))?+?'.txt'

#創(chuàng)建文件

output_file?=?open(filename,?'w')

#?選擇行政區(qū)

for?i?in?range(len(district_navs)):

driver.find_element_by_xpath("http://div[@id='"?+?district_navs[i]?+?"']").click()

#?print?driver.page_source

timeElem?=?driver.find_element_by_id("time_shikuang")

#輸出時間和站點名

output_file.write(timeElem.text?+?',')

output_file.write(district_names[i]?+?',')

elems?=?driver.find_elements_by_xpath("http://span[@onmouseover='javscript:changeTextOver(this)']")

#輸出每個站點的數(shù)據(jù),格式為:站點名,一小時降雨量,當日累積降雨量

for?elem?in?elems:

output_file.write(AMonitorRecord(elem.get_attribute("title"))?+?',')

output_file.write('\n')

output_file.close()

driver.close()

time.sleep(3600)

文件中引用的文件testString只是修改輸出格式,提取有效數(shù)據(jù)。

[python]?view plain?copy

#Encoding=utf-8

def?OnlyCharNum(s,?oth=''):

s2?=?s.lower()

fomart?=?'abcdefghijklmnopqrstuvwxyz0123456789,.'

for?c?in?s2:

if?not?c?in?fomart:

s?=?s.replace(c,?'')

return?s

def?AMonitorRecord(str):

str?=?str.split(":")

return?str[0]?+?","?+?OnlyCharNum(str[1])

一小時抓取一次數(shù)據(jù),結果如下:

selenium網(wǎng)頁源碼xml解析的介紹就聊到這里吧,感謝你花時間閱讀本站內(nèi)容,更多關于selenium 獲取html、selenium網(wǎng)頁源碼xml解析的信息別忘了在本站進行查找喔。

掃描二維碼推送至手機訪問。

版權聲明:本文由飛速云SEO網(wǎng)絡優(yōu)化推廣發(fā)布,如需轉載請注明出處。

本文鏈接:http://m.landcheck.net/post/16958.html

分享給朋友:

“selenium網(wǎng)頁源碼xml解析(selenium 獲取html)” 的相關文章

物流軟件開發(fā)(物流軟件開發(fā)公司)

物流軟件開發(fā)(物流軟件開發(fā)公司)

本篇文章給大家談談物流軟件開發(fā),以及物流軟件開發(fā)公司對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、物流軟件系統(tǒng)定制開發(fā)的公司有哪些? 2、物流app開發(fā)報價 3、物流軟件系統(tǒng)開發(fā)應該注意些什么 物流軟件系統(tǒng)定制開發(fā)的公司有哪些? 極其流行,同樣也是競爭力極其大...

pycharm圣誕樹源碼教程(圣誕樹代碼Python)

pycharm圣誕樹源碼教程(圣誕樹代碼Python)

今天給各位分享pycharm圣誕樹源碼教程的知識,其中也會對圣誕樹代碼Python進行解釋,如果能碰巧解決你現(xiàn)在面臨的問題,別忘了關注本站,現(xiàn)在開始吧!本文目錄一覽: 1、pycharm中的圣誕樹怎么加動態(tài)新圖片 2、圣誕樹python用的是什么曲線 3、如何將pycharm編寫的源代碼文件...

齊家裝修公司地址與電話?(齊家裝修公司地址與電話查詢)

齊家裝修公司地址與電話?(齊家裝修公司地址與電話查詢)

本篇文章給大家談談齊家裝修公司地址與電話?,以及齊家裝修公司地址與電話查詢對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、齊家裝修怎么樣? 2、齊家網(wǎng)推薦的裝修公司靠譜嗎? 3、江陰市澄江鎮(zhèn)有什么規(guī)模大一點的裝飾公司嗎?有人知道嗎?請求回話:地址和電話號碼 4...

php開源博客系統(tǒng)(php 博客系統(tǒng))

php開源博客系統(tǒng)(php 博客系統(tǒng))

本篇文章給大家談談php開源博客系統(tǒng),以及php 博客系統(tǒng)對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、誰推薦一個好的個人博客源碼(PHP+MYSQL) 2、跪求一個好用的php blog源碼 3、php開發(fā)用什么軟件 4、類似WordPress的建站軟件還...

體育直播app大全免費下載(中國體育直播app下載)

體育直播app大全免費下載(中國體育直播app下載)

本篇文章給大家談談體育直播app大全免費下載,以及中國體育直播app下載對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、體育直播的軟件有哪些?用哪個最好,求推薦 2、請問體育直播的網(wǎng)站有哪些啊 3、有什么手機軟件可以看nba直播 體育直播的軟件有哪些?用哪個最好...

大話西游手游藏寶閣出售條件(大話西游手游藏寶閣交易條件)

大話西游手游藏寶閣出售條件(大話西游手游藏寶閣交易條件)

本篇文章給大家談談大話西游手游藏寶閣出售條件,以及大話西游手游藏寶閣交易條件對應的知識點,希望對各位有所幫助,不要忘了收藏本站喔。 本文目錄一覽: 1、大話西游2藏寶閣多少級可以寄售(賣東西) 2、大話西游手游賬號可以交易嗎 告訴下流程? 3、大話西游手游藏寶閣異常交易保護說明 4、37...