国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python網(wǎng)頁爬蟲爬取起點(diǎn)小說——re解析網(wǎng)頁數(shù)據(jù)

這篇具有很好參考價(jià)值的文章主要介紹了Python網(wǎng)頁爬蟲爬取起點(diǎn)小說——re解析網(wǎng)頁數(shù)據(jù)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Re解析爬蟲響應(yīng)數(shù)據(jù)

需求:爬取起點(diǎn)小說網(wǎng)站中某一本小說的免費(fèi)章節(jié),包括章節(jié)的標(biāo)題和內(nèi)容。
主要分為兩步:
	1.獲取每一章節(jié)的標(biāo)題和對應(yīng)內(nèi)容詳情頁的請求URL
	2.獲取每一章節(jié)內(nèi)容詳情頁的章節(jié)內(nèi)容

??!注意:我們獲取到的網(wǎng)頁響應(yīng)數(shù)據(jù),可能會(huì)與網(wǎng)頁源代碼中呈現(xiàn)的格式不同。因?yàn)橛行┚W(wǎng)頁文件是用JavaScript加載的,瀏覽器會(huì)自動(dòng)將其解析成html文檔格式,而我們獲取到的內(nèi)容是JavaScript格式的文檔。所以獲取到響應(yīng)數(shù)據(jù)之后先要查看內(nèi)容是否與網(wǎng)頁源碼中的一致,不一致的話,在編寫正則表達(dá)式時(shí)則以獲取到的響應(yīng)數(shù)據(jù)res.text為準(zhǔn),否則會(huì)找不到對應(yīng)數(shù)據(jù)。

一、爬取小說的標(biāo)題和章節(jié)內(nèi)容頁的鏈接

在起點(diǎn)小說網(wǎng)(https://www.qidian.com/all/)打開一篇小說,發(fā)現(xiàn)只有免費(fèi)章節(jié)的內(nèi)容是完整的,收費(fèi)章節(jié)非VIP只會(huì)顯示部分內(nèi)容。所以我們只爬取免費(fèi)的章節(jié)。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

1.1 指定URL

打開網(wǎng)頁源碼,查看網(wǎng)頁的URL,請求方法為GET,文本類型是text/html。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
我們想要獲取的是119章免費(fèi)章節(jié)的標(biāo)題和章節(jié)內(nèi)容頁的URL。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
定位發(fā)現(xiàn)所有的章節(jié)標(biāo)題和章節(jié)內(nèi)容頁鏈接都在<div class=“catalog-volume” 標(biāo)簽中,所以我們可以嘗試定位到該標(biāo)簽中,看能不能取到所有的章節(jié)標(biāo)題和章節(jié)內(nèi)容頁鏈接。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

1.2 發(fā)起網(wǎng)頁請求,獲取響應(yīng)

接下來開始請求網(wǎng)頁:

# 導(dǎo)包
import re
import requests

# 指定url
url = 'https://www.qidian.com/book/1016530091/'
headers = {
    'Host':'www.qidian.com',
    'Referer':'https://www.qidian.com/all/',
    'Sec-Ch-Ua':'"Microsoft Edge";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
    'Sec-Ch-Ua-Mobile':'?0',
    'Sec-Ch-Ua-Platform':'"Windows"',
    'Sec-Fetch-Dest':'document',
    'Sec-Fetch-Mode':'navigate',
    'Sec-Fetch-Site':'same-origin',
    'Sec-Fetch-User':'?1',
    'Upgrade-Insecure-Requests':'1',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.31',}

response = requests.get(url,headers=headers)
print(response.encoding)     # 查看編碼格式
print(response.status_code)     # 查看響應(yīng)狀態(tài)碼
print(response.text)         # 打印響應(yīng)內(nèi)容
page_text = response.text

通過對比可以發(fā)現(xiàn),網(wǎng)頁響應(yīng)的內(nèi)容response.text與網(wǎng)頁源碼中的內(nèi)容是一樣的,所有的文章標(biāo)題都在<ul class=“volume-chapters” 中,我們可以先定位到該標(biāo)簽,再進(jìn)一步定位。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

1.3 進(jìn)行數(shù)據(jù)解析

下面開始編寫正則表達(dá)式并查找對應(yīng)的內(nèi)容:

(1)獲取小說名稱

在網(wǎng)頁源碼中定位到書名,發(fā)現(xiàn)其在<h1 class="" id="bookName">赤心巡天</h1>中。在網(wǎng)頁源碼的搜索框查找<h1 class="" id="bookName">標(biāo)簽,發(fā)現(xiàn)只有一個(gè)結(jié)果,所以我們可以直接定位到該標(biāo)簽中,獲取文本。

# 獲取小說名稱
ex = '<h1 class="" id="bookName">(.*?)</h1>'  # !!注意,要將元素復(fù)制出來,查看標(biāo)簽、關(guān)鍵字等之間有無空格或未顯示的東西。如:class=""并未在html文檔中顯示出來
bookname = re.findall(ex,page_text)
print(bookname)

!!注意,要將元素復(fù)制出來,查看標(biāo)簽、關(guān)鍵字等之間有無空格或未顯示的東西。如:class=""并未在html文檔中顯示出來。

輸出結(jié)果是:(獲取到書名)
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

(2)獲取章節(jié)標(biāo)題

我們從<ul class="volume-chapters>" 開始查找匹配它的每一個(gè)子標(biāo)簽

# 獲取每一章節(jié)的標(biāo)題
ex1 = '<ul class="volume-chapters"><li class="chapter-item".*?<a class="chapter-name".*?章節(jié)字?jǐn)?shù):\d{4}">(.*?)</a>.*?</ul>'  # 正則表達(dá)式
titles = re.findall(ex1,page_text)   # 查找所有符合條件的內(nèi)容
print(titles)

結(jié)果是:發(fā)現(xiàn)并沒有獲取到內(nèi)容。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
接下來,我們嘗試擴(kuò)大查找范圍,即從<ul class="volume-chapters>的下一級標(biāo)簽開始查找匹配。

# 獲取每一章節(jié)的標(biāo)題
ex1 = '<li class="chapter-item".*?<a class="chapter-name".*?章節(jié)字?jǐn)?shù):\d{4}">(.*?)</a>.*?</li>'   # 正則表達(dá)式
titles = re.findall(ex1,page_text)
print(titles)

結(jié)果是:
取到了所有的章節(jié)標(biāo)題并存放在一個(gè)列表中。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
但是我們只需要免費(fèi)章節(jié)的內(nèi)容,即從“赤心巡天世界地圖設(shè)定文稿”到“第一百一十八章 白骨道子”,需要對列表進(jìn)行切片。

detail_titles = titles[:120]            # 只取免費(fèi)章節(jié),即前118章的標(biāo)題
print(detail_titles)

輸出結(jié)果是:(獲取到所有免費(fèi)章節(jié)的標(biāo)題)
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

(3)獲取章節(jié)內(nèi)容頁的鏈接

章節(jié)內(nèi)容頁的鏈接和章節(jié)標(biāo)題在同一個(gè)標(biāo)簽中,只是鏈接是標(biāo)簽屬性的值,標(biāo)題是標(biāo)簽的文本內(nèi)容,因此我們可以在正則表達(dá)式ex1讓進(jìn)行修改。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

編寫正則表達(dá)式,并查找匹配響應(yīng)內(nèi)容。

ex2 = '<li class="chapter-item".*?<a class="chapter-name"\shref="(.*?)"\starget=.*?</li>'  # 取到所有章節(jié)的url,同樣我們只要免費(fèi)章節(jié)的鏈接
links = re.findall(ex2,page_text)         # 獲取每一章詳情頁的部分鏈接 
print(links)

結(jié)果是:(獲取到了所有章節(jié)的鏈接并存放到列表中)
點(diǎn)擊查看確實(shí)是對應(yīng)章節(jié)頁面的鏈接。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
我們需要從中截取需要的鏈接,并將其拼接成完整的章節(jié)內(nèi)容頁的請求URL。

detail_links = links[:120]
print(detail_links)
print(len(detail_links))

輸出結(jié)果是:
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

二、爬取小說章節(jié)內(nèi)容頁的內(nèi)容

我們需要先獲取某一章節(jié)的內(nèi)容,然后通過循環(huán)對每一章節(jié)內(nèi)容頁發(fā)起請求,獲取全部章節(jié)內(nèi)容。

2.1爬取某一章節(jié)的內(nèi)容

以爬取第一章的內(nèi)容為例
打開網(wǎng)頁源碼,在NetWork下可以發(fā)現(xiàn)其請求方法為get方法,文本類型為text/html,編碼格式為utf-8。所以我們獲得的響應(yīng)的文本數(shù)據(jù)是html文檔,編碼格式是utf-8,我們需要對其進(jìn)行數(shù)據(jù)解析。這里使用re進(jìn)行數(shù)據(jù)解析。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
我們之前已經(jīng)獲取了全部章節(jié)內(nèi)容頁的URL,然后需要進(jìn)行UA偽裝,準(zhǔn)備好GET請求所需的參數(shù)之后,嘗試對網(wǎng)頁發(fā)起請求。響應(yīng)狀態(tài)碼為200就說明請求成功,獲取到響應(yīng)。然后打印響應(yīng)的內(nèi)容,res.text。(建議每次發(fā)起請求后都輸出狀態(tài)碼查看是否請求成功

# 指定url
url = detail_urls[1]    # 以爬取第一章為例
print(url)

# UA偽裝
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.31',}

# 發(fā)起請求,獲取響應(yīng)
res = requests.get(url,headers=header)
page_text = res.text
print(res.status_code)        # 建議在每一次請求之后輸出響應(yīng)的狀態(tài)碼,這樣可以知道我們是否請求成功
print(res.encoding)
print(res.text)

獲取到響應(yīng)數(shù)據(jù)res.text之后可以發(fā)現(xiàn),其與網(wǎng)頁源碼的格式不同,說明該網(wǎng)頁文件是由JavaScript加載的。所以要根據(jù)res.text的格式來編寫正則表達(dá)式。

打開網(wǎng)頁源碼,選擇所有的文本內(nèi)容,可以發(fā)現(xiàn),該章節(jié)全部內(nèi)容都在<main標(biāo)簽下,在源代碼中按下ctrl+F查找<main,只有一個(gè)結(jié)果,所以我們只要定位到main標(biāo)簽就可以找出全部的章節(jié)內(nèi)容。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

由于網(wǎng)頁是由JavaScript文件加載的,所以我們在res.text中查找是否有<main標(biāo)簽,通過對比可以發(fā)現(xiàn),網(wǎng)頁源碼中p標(biāo)簽下還有子標(biāo)簽span,而網(wǎng)頁響應(yīng)數(shù)據(jù)的p標(biāo)簽下并沒有子標(biāo)簽。我們需要根據(jù)網(wǎng)頁響應(yīng)內(nèi)容編寫正則表達(dá)式。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
其中文本的內(nèi)容如下:

#<p>  太陽懸在高天,將它的光和熱,不偏不倚灑落人間。不分老幼,不辨貴賤。大愛如無情。</p>
# <p>  入此地牢者,一息呼氣凝霜,二息血流凍結(jié),三息肉身僵死。</p>

編寫正則表達(dá)式獲取<main標(biāo)簽下所有子標(biāo)簽p中的文本內(nèi)容。


ex = '<main id=.*?<p>(.*?)</p>.*?</main>'  # 正則表達(dá)式
content = re.findall(ex,page_text)    查找所有符合要求的內(nèi)容
print(content)

輸出后得到的結(jié)果是:
只取到了第一個(gè)p標(biāo)簽中的文本內(nèi)容,而且文本前出現(xiàn)了\u3000,是空格的ASCII碼,我們需要將文本前面的內(nèi)容去掉,并且減少正則表達(dá)式中的標(biāo)簽數(shù),擴(kuò)大查找范圍,以獲取更多文本。
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
去除文本前面的空格:

# \s表示匹配空格,+表示數(shù)量大于等于1
ex = '<main id=.*?<p>\s+(.*?)</p>.*?</main>'   # 只能取到一個(gè)p標(biāo)簽下的文本

輸出的結(jié)果是:(已經(jīng)去除掉文本前面的空格)
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言
接下來嘗試減少正則表達(dá)式中的標(biāo)簽數(shù),看看能不能獲取到更多內(nèi)容。

ex = '<p>\s+(.*?)</p>'         # 擴(kuò)大范圍,取到所有文本內(nèi)容

content = re.findall(ex,page_text)
print(content)

輸出結(jié)果:(獲取到該章節(jié)的全部文本內(nèi)容并存儲(chǔ)到列表中)
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

2.2 通過循環(huán)獲取每個(gè)章節(jié)中的內(nèi)容

我們在上節(jié)中已經(jīng)獲取到了某個(gè)章節(jié)的全部文本內(nèi)容,想要獲取全部章節(jié)的內(nèi)容,可以通過for循環(huán)依次對每一章節(jié)發(fā)起請求,獲取響應(yīng),然后解析出文本內(nèi)容。

需要注意的是,在上一節(jié)中我們獲取的某一章節(jié)的內(nèi)容被存儲(chǔ)到列表中,如果我們想將內(nèi)容保存到本地,就需要將其轉(zhuǎn)換成字符類型,再寫入txt文檔中。

content_string = ''      # 創(chuàng)建一個(gè)空字符串,用于存放章節(jié)內(nèi)容
for j in range(len(content)):     # 循環(huán)遍歷列表
	# 字符串拼接
    content_string = content_string + content[j]

通過循環(huán)爬取全部章節(jié)內(nèi)容的代碼如下:

# 創(chuàng)建文件,并將小說每一章節(jié)標(biāo)題和內(nèi)容寫入
fp = open(f'D:\\Python\\{bookname}.txt','w',encoding='utf-8')

# 獲取每一章節(jié)詳情頁的小說內(nèi)容
for i in range(len(detail_titles)):
    detail_url = detail_urls[i]     # 依次取每個(gè)章節(jié)內(nèi)容的URL
    header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.31',}
    # 發(fā)起請求
    res = requests.get(detail_url,headers=header)
    detail_text=res.text
    detail_ex = '<p>\s+(.*?)</p>'        # 編寫正則表達(dá)式
    content = re.findall(detail_ex,detail_text)      # 內(nèi)容存儲(chǔ)在列表中,需要把它逐個(gè)取出并寫入
    content_string = ''             # 創(chuàng)建一個(gè)空字符串,用于存放章節(jié)內(nèi)容
    for j in range(len(content)):
        content_string = content_string + content[j]
    # 將每一章節(jié)的標(biāo)題和內(nèi)容存儲(chǔ)到txt文件中
    fp.write(detail_titles[i]+'\n'+content_string+'\n')
    print(f"{detail_titles[i]}爬取結(jié)束!")
    
# 關(guān)閉文件
fp.close()

爬取的文件保存到txt文件中:
python爬取小說網(wǎng)站數(shù)據(jù)分析,python,爬蟲,開發(fā)語言

整個(gè)程序的代碼如下:

'''
爬取起點(diǎn)小說網(wǎng)的某篇小說,用re解析網(wǎng)頁數(shù)據(jù),只要免費(fèi)章節(jié)即1-118章節(jié)
'''
# 導(dǎo)包
import re
import requests

# 指定url
url = 'https://www.qidian.com/book/1016530091/'
# UA偽裝
headers = {
    'Host':'www.qidian.com',
    'Referer':'https://www.qidian.com/all/',
    'Sec-Ch-Ua':'"Microsoft Edge";v="117", "Not;A=Brand";v="8", "Chromium";v="117"',
    'Sec-Ch-Ua-Mobile':'?0',
    'Sec-Ch-Ua-Platform':'"Windows"',
    'Sec-Fetch-Dest':'document',
    'Sec-Fetch-Mode':'navigate',
    'Sec-Fetch-Site':'same-origin',
    'Sec-Fetch-User':'?1',
    'Upgrade-Insecure-Requests':'1',
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.31',}

# 發(fā)起請求,獲取響應(yīng)
response = requests.get(url,headers=headers)
print(response.encoding)       # 查看編碼格式
print(response.status_code)    # 查看狀態(tài)碼
# print(response.text)
page_text = response.text      # 獲取響應(yīng)內(nèi)容


# 獲取小說名稱
ex = '<h1 class="" id="bookName">(.*?)</h1>'      # !!注意,要將元素復(fù)制出來,查看標(biāo)簽、關(guān)鍵字等之間有無空格或未顯示的東西。如:class=""并未在html文檔中顯示出來
bookname = re.findall(ex,page_text)
print(bookname)

# 獲取每一章節(jié)的標(biāo)題
# ex1 = '<ul class="volume-chapters"><li class="chapter-item".*?<a class="chapter-name".*?章節(jié)字?jǐn)?shù):\d{4}">(.*?)</a>.*?</ul>'
# ex1 = '<ul class="volume-chapters><li class="chapter-item".*?<a class="chapter-name".*?alt="(.*?)"\stitle=.*?</ul>'    
# ex1 = '<li class="chapter-item".*?<a class="chapter-name".*?alt="(.*?)"\stitle=.*?</li>'
# 正則表達(dá)式
ex1 = '<li class="chapter-item".*?<a class="chapter-name".*?章節(jié)字?jǐn)?shù):\d{4}">(.*?)</a>.*?</li>'
titles = re.findall(ex1,page_text)
# print(titles)
detail_titles = titles[:120]            # 只取免費(fèi)章節(jié),即前118章的標(biāo)題
print(detail_titles)

#獲取每一章詳情頁的鏈接
# ex2 = '<ul class="volume-chapters">\s+<li class="chapter-item".*?<a class="chapter-name"\shref="(.*?)"\starget=.*?</li>.*?</ul>'     # 只能取到每一卷第一章的url
# ex2 = '<a class="chapter-name"\shref="(.*?)"\starget=.*?</a>'       # !?。。∽⒁猓嚎崭褚欢ㄒ肻s來匹配,否則取不到值
ex2 = '<li class="chapter-item".*?<a class="chapter-name"\shref="(.*?)"\starget=.*?</li>'      # 取到所有章節(jié)的url,同樣我們只要免費(fèi)章節(jié)的鏈接
links = re.findall(ex2,page_text)         # 獲取每一章詳情頁的部分鏈接   
detail_links = links[:120]
print(detail_links)
print(len(detail_links))

# 拼接出每一章節(jié)詳情頁面的url
detail_urls = []
for link in detail_links:
    detail_urls.append('https:'+link)
print(detail_urls)


# 創(chuàng)建文件,并將小說每一章節(jié)標(biāo)題和內(nèi)容寫入
fp = open(f'D:\\Python\\{bookname}.txt','w',encoding='utf-8')

# 獲取每一章節(jié)詳情頁的小說內(nèi)容
for i in range(len(detail_titles)):
    detail_url = detail_urls[i]
    header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/117.0.0.0 Safari/537.36 Edg/117.0.2045.31',}
    # 發(fā)起請求
    res = requests.get(detail_url,headers=header)
    detail_text=res.text
    detail_ex = '<p>\s+(.*?)</p>'        # 編寫正則表達(dá)式
    content = re.findall(detail_ex,detail_text)      # 內(nèi)容存儲(chǔ)在列表中,需要把它逐個(gè)取出并寫入
    content_string = ''             # 創(chuàng)建一個(gè)空字符串,用于存放章節(jié)內(nèi)容
    for j in range(len(content)):
        content_string = content_string + content[j]
    fp.write(detail_titles[i]+'\n'+content_string+'\n')
    print(f"{detail_titles[i]}爬取結(jié)束!")
    
# 關(guān)閉文件
fp.close()

總結(jié):

1、需要注意響應(yīng)內(nèi)容是否與網(wǎng)頁源碼格式相同
2、編寫正則表達(dá)式時(shí)需要將網(wǎng)頁源碼或者響應(yīng)內(nèi)容中的對應(yīng)元素復(fù)制出來,觀察其格式,按照格式去編寫正則表達(dá)式
3、如果我們查找不到對應(yīng)的內(nèi)容,或者只取到對應(yīng)內(nèi)容的一部分,則我們需要擴(kuò)大查找范圍,正則表達(dá)式的編寫從開始標(biāo)簽的下級標(biāo)簽開始查找。
4、建議每次獲取到數(shù)據(jù)都輸出查看是否是我們想要的格式和內(nèi)容。文章來源地址http://www.zghlxwxcb.cn/news/detail-763877.html

到了這里,關(guān)于Python網(wǎng)頁爬蟲爬取起點(diǎn)小說——re解析網(wǎng)頁數(shù)據(jù)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù)

    Python爬蟲|使用Selenium輕松爬取網(wǎng)頁數(shù)據(jù)

    1. 什么是selenium? Selenium是一個(gè)用于Web應(yīng)用程序自動(dòng)化測試工具。Selenium測試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作瀏覽器一樣。支持的瀏覽器包括IE,F(xiàn)irefox,Safari,Chrome等。 Selenium可以驅(qū)動(dòng)瀏覽器自動(dòng)執(zhí)行自定義好的邏輯代碼,也就是可以通過代碼完全模擬成人類使用

    2024年02月04日
    瀏覽(32)
  • Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)

    Python爬蟲:為什么你爬取不到網(wǎng)頁數(shù)據(jù)

    前言: 之前小編寫了一篇關(guān)于爬蟲為什么爬取不到數(shù)據(jù)文章(文章鏈接為:https://liuze.blog.csdn.net/article/details/105965562),但是當(dāng)時(shí)小編也是胡亂編寫的,其實(shí)里面有很多問題的,現(xiàn)在小編重新發(fā)布一篇關(guān)于爬蟲爬取不到數(shù)據(jù)文章,希望各位讀者更加了解爬蟲。 1. 最基礎(chǔ)的爬蟲

    2024年02月05日
    瀏覽(30)
  • Python網(wǎng)絡(luò)爬蟲逆向分析爬取動(dòng)態(tài)網(wǎng)頁、使用Selenium庫爬取動(dòng)態(tài)網(wǎng)頁、?編輯將數(shù)據(jù)存儲(chǔ)入MongoDB數(shù)據(jù)庫

    Python網(wǎng)絡(luò)爬蟲逆向分析爬取動(dòng)態(tài)網(wǎng)頁、使用Selenium庫爬取動(dòng)態(tài)網(wǎng)頁、?編輯將數(shù)據(jù)存儲(chǔ)入MongoDB數(shù)據(jù)庫

    目錄 逆向分析爬取動(dòng)態(tài)網(wǎng)頁 了解靜態(tài)網(wǎng)頁和動(dòng)態(tài)網(wǎng)頁區(qū)別 1.判斷靜態(tài)網(wǎng)頁 ?2.判斷動(dòng)態(tài)網(wǎng)頁 ?逆向分析爬取動(dòng)態(tài)網(wǎng)頁 使用Selenium庫爬取動(dòng)態(tài)網(wǎng)頁 安裝Selenium庫以及下載瀏覽器補(bǔ)丁 頁面等待 ?頁面操作 1.填充表單 2.執(zhí)行JavaScript 元素選取 Selenium庫的find_element的語法使用格式如下

    2024年02月15日
    瀏覽(65)
  • 20230908_python練習(xí)_selenium模塊爬取網(wǎng)頁小說練習(xí)

    20230908_python練習(xí)_selenium模塊爬取網(wǎng)頁小說練習(xí)

    霍比特人小說爬取,使用 selenium 模塊調(diào)用谷歌瀏覽器,無界面模式爬取小說網(wǎng)站信息,將數(shù)據(jù)按照每次2000字符在mysql中保存。

    2024年02月07日
    瀏覽(29)
  • 走好這六步,python爬蟲爬取網(wǎng)頁數(shù)據(jù)手到擒來~

    走好這六步,python爬蟲爬取網(wǎng)頁數(shù)據(jù)手到擒來~

    用python的爬蟲爬取數(shù)據(jù)真的很簡單,只要掌握這六步就好,也不復(fù)雜。以前還以為爬蟲很難,結(jié)果一上手,從初學(xué)到把東西爬下來,一個(gè)小時(shí)都不到就解決了。 第一步:安裝requests庫和BeautifulSoup庫: 在程序中兩個(gè)庫的書寫是這樣的: 由于我使用的是pycharm進(jìn)行的python編程。所

    2024年02月16日
    瀏覽(16)
  • Python爬蟲入門教程!手把手教會(huì)你爬取網(wǎng)頁數(shù)據(jù)

    Python爬蟲入門教程!手把手教會(huì)你爬取網(wǎng)頁數(shù)據(jù)

    其實(shí)在當(dāng)今社會(huì),網(wǎng)絡(luò)上充斥著大量有用的數(shù)據(jù),我們只需要耐心的觀察,再加上一些技術(shù)手段,就可以獲取到大量的有價(jià)值數(shù)據(jù)。這里的“技術(shù)手段”就是網(wǎng)絡(luò)爬蟲。今天就給大家分享一篇爬蟲基礎(chǔ)知識和入門教程: 爬蟲就是自動(dòng)獲取網(wǎng)頁內(nèi)容的程序,例如搜索引擎,Go

    2023年04月26日
    瀏覽(169)
  • Python爬蟲基礎(chǔ)之如何對爬取到的數(shù)據(jù)進(jìn)行解析

    Python爬蟲基礎(chǔ)之如何對爬取到的數(shù)據(jù)進(jìn)行解析

    原文地址: https://www.program-park.top/2023/04/13/reptile_2/ ??在上一篇博客中,講了如何使用 urllib 庫爬取網(wǎng)頁的數(shù)據(jù),但是根據(jù)博客流程去操作的人應(yīng)該能發(fā)現(xiàn),我們爬取到的數(shù)據(jù)是整個(gè)網(wǎng)頁返回的源碼,到手的數(shù)據(jù)對我們來說是又亂又多的,讓我們不能快速、準(zhǔn)確的定位到所需

    2023年04月16日
    瀏覽(21)
  • python爬蟲篇:使用Selenium自動(dòng)打開小說網(wǎng)頁并自動(dòng)瀏覽

    python爬蟲篇:使用Selenium自動(dòng)打開小說網(wǎng)頁并自動(dòng)瀏覽

    需求:python,pycharm,Selenium庫,火狐或ie瀏覽器 文章目錄 一、 自動(dòng)打開小說網(wǎng)頁并瀏覽 簡單使用Selenium庫,實(shí)現(xiàn)對瀏覽器的自動(dòng)化操作 一、自動(dòng)打開小說網(wǎng)頁并瀏覽 方法:使用命令行下載或者在pycharm中下載 使用命令行下載:打開cmd終端,輸入pip install selenium ?在pycharm中下

    2024年02月10日
    瀏覽(29)
  • python爬蟲 爬取網(wǎng)頁圖片

    python爬蟲 爬取網(wǎng)頁圖片

    目錄 一:爬蟲基礎(chǔ) 二:安裝html解析的python工具 三:爬取網(wǎng)頁圖片 爬蟲基本過程: 1.請求標(biāo)頭 headers 2.創(chuàng)建一個(gè)會(huì)話 requests.Session 3.確定請求的路徑 4.根據(jù)路徑獲取網(wǎng)頁資源(HTML文件) 5.解析html文件BeautifulSoup div a 標(biāo)簽 獲取對應(yīng)的圖片 6.建立網(wǎng)絡(luò)連接進(jìn)行下載? 創(chuàng)建出下載的圖

    2024年02月02日
    瀏覽(101)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包