亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久

教程:Python大佬精選教材,一步一步教你從零開(kāi)始學(xué)會(huì )采集小說(shuō)

優(yōu)采云 發(fā)布時(shí)間: 2022-11-17 01:55

  教程:Python大佬精選教材,一步一步教你從零開(kāi)始學(xué)會(huì )采集小說(shuō)

  爬蟲(chóng)實(shí)戰01--小說(shuō)02-2,起始頁(yè)處理02-3,頁(yè)面處理03,其他內容分析:03-3,其他04,完整代碼05,結論:

  01.運行環(huán)境

  私信小編01 領(lǐng)取Python學(xué)習資料

  # 操作系統:win10 專(zhuān)業(yè)版

pycharm professional 2019.1

python 3.8

beautifulsoup4 == 4.9.0

requests == 2.23.0

random # 內置的

1234567

  02.啟動(dòng)爬蟲(chóng)02-1。分析要點(diǎn)

  另外兩點(diǎn),先獲取頁(yè)面,再獲取頁(yè)面中的內容

  02-1-1。頁(yè)面間處理:找到爬蟲(chóng)的第一頁(yè),查找上一頁(yè)和下一頁(yè)的規則是什么,或者如何從跳到下一頁(yè)找到最后一頁(yè)

  總的來(lái)說(shuō)就是:判斷開(kāi)始條件和結束條件,找到跳轉到下一頁(yè)的規則?。◤念^到尾都有一個(gè)過(guò)程)02-1-2。提取頁(yè)面中的內容 找到數據內容所在的位置,(title, content...)(重點(diǎn)找到內容的共性,方便提?。┨崛∷谖恢玫膌abel,然后提取text和保存提取的Data 02-2,起始頁(yè)處理02-2-1,文章目錄鏈接地址:

  

http://www.quanben5.com/n/chuimianbuhanyangliufeng/xiaoshuo.html

12

  這個(gè)地址就是我們要爬取的小說(shuō)的目錄頁(yè)地址。這個(gè)頁(yè)面有我們要爬取的所有頁(yè)面的鏈接地址,方便我們知道第一頁(yè)和最后一頁(yè),以及頁(yè)面之間的地址規則。.

  02-2-2。第一頁(yè)鏈接地址:

  # 第一個(gè)頁(yè)面鏈接地址

http://www.quanben5.com/n/chuimianbuhanyangliufeng/17482.html

12

  02-2-3,第2-5頁(yè)鏈接地址:

  # 第二個(gè)頁(yè)面鏈接地址:

http://www.quanben5.com/n/chuimianbuhanyangliufeng/17483.html

# 第三個(gè)頁(yè)面鏈接地址:

http://www.quanben5.com/n/chuimianbuhanyangliufeng/17484.html

# 第四個(gè)頁(yè)面鏈接地址:

http://www.quanben5.com/n/chuimianbuhanyangliufeng/17485.html

# 第五個(gè)頁(yè)面鏈接地址:

http://www.quanben5.com/n/chuimianbuhanyangliufeng/17486.html

12345678

  02-2-4。最后一頁(yè)鏈接地址:

  # 最后一個(gè)頁(yè)面鏈接地址:

http://www.quanben5.com/n/chuimianbuhanyangliufeng/17649.html

12

  02-2-5。分析結果

  從上面的鏈接地址可以看出,這本小說(shuō)的整個(gè)網(wǎng)頁(yè)地址都來(lái)自

  到達

  完了,我們可以對比一下,是上一個(gè)

  *****.html都是一樣的,只有最后五個(gè)值不一樣,而且頁(yè)面之間有+1的變化規則,所以這樣我們就知道了所有頁(yè)面的規則和開(kāi)始,結束條件。

  02-2-6。獲取所有頁(yè)面的代碼

  urllist = ['http://www.quanben5.com/n/chuimianbuhanyangliufeng/{}.html'.format(page) for page in range(17644,17650)]

  此列表理解將所有頁(yè)面保存在 urllist 列表中。

  02-3. 頁(yè)內處理 02-3-1。頁(yè)面分析1

  打開(kāi)一篇文章文章,右鍵查看!

  知道文章的內容所在的標簽,點(diǎn)擊代碼左上角的小箭頭,然后在網(wǎng)頁(yè)中選擇你要看的內容所在的區域,然后分析找到它之后

  02-3-2,文章頭條分析:

  經(jīng)過(guò)分析,title是頁(yè)面中唯一的標簽,class='title'我們通過(guò)title的這兩個(gè)特征得到title,進(jìn)而得到title的內容。(獲取標題是內容需要的,也可以作為保存文件的文件名)

  02-3-3。獲取標題代碼實(shí)現:

   response = requests.get(url=pageurl,headers=headers,params=params)

<p>

reshtml = response.content.decode()

soup = BeautifulSoup(reshtml,&#39;lxml&#39;)

# 獲取頁(yè)面的標題所在標簽,用到了***層級選擇器****

titlelist = soup.select(&#39;.content h1&#39;)

# 獲取標簽里面的標題內容,因為標簽是保存的一個(gè)列表里面,要先取出來(lái),

# 然后用`.get_text()`獲取到其中的內容

title_text = titlelist[0].get_text()

# 替換到標題里面的一些特殊符號,后面保存為文件名的時(shí)候,不允許,

# 這一個(gè)是后面代碼運行之中出的錯誤,后面加上的。

title_text =title_text.replace(&#39;*&#39;,&#39;&#39;)</p>

  02-3-4。獲取內容分析:

  通過(guò)分析,(見(jiàn)圖),發(fā)現以下幾點(diǎn):

  1.小說(shuō)的所有內容都在p標簽里

  2. 這個(gè)內容的p標簽在id=''content'的div標簽里面。

  基于以上兩點(diǎn),我們可以唯一獲取到所有內容的p標簽,進(jìn)而獲取到里面的內容。

  02-3-5。內容獲取代碼說(shuō)明

   response = requests.get(url=pageurl,headers=headers,params=params)

reshtml = response.content.decode()

soup = BeautifulSoup(reshtml,&#39;lxml&#39;)

# 獲取到全部存在內容的標簽,返回的是一個(gè)列表

# 用到了***層級選擇器***

restextlist = soup.select(&#39;#content p&#39;)

# 用for循環(huán)可以取出全部的標簽,然后用.get_text()取出全部?jì)热荨?/p>

for article_text in restextlist:

article_text.get_text()

  03.其他內容分析:03-1。標頭請求標頭

  在網(wǎng)頁(yè)里面,

  右支票

  -----&gt; 點(diǎn)擊上面的網(wǎng)絡(luò )

  -----&gt; 檢查保留日志

  -----&gt; 然后刷新頁(yè)面

  -----&gt; 在Name中找到一條消息刷新(大概率是)(這是網(wǎng)頁(yè),找到就ok),

  -----&gt; 點(diǎn)擊右邊的headers頭信息

  -----&gt; 翻到最下面Request Headers 請求頭信息

  -----&gt; 找到里面的User-Agent信息,然后復制粘貼到代碼中。這里存儲了很多信息。如果不攜帶,大概率會(huì )請求不到網(wǎng)頁(yè)。

  03-2. 使用參數代理池的原因:

  同一個(gè)ip地址,對一個(gè)網(wǎng)站快速頻繁的請求,會(huì )被網(wǎng)站認為是惡意請求,爬蟲(chóng)等異常情況,然后會(huì )被ip bans等限制。讓你無(wú)法爬取信息。

  解決方案

  使用代理池,(這個(gè)是正向代理,反向代理可以用Nginx自己了解,前者是給瀏覽器代理,后者是給服務(wù)器代理。)然后從中隨機選擇一個(gè)ip代理池去Access,每次請求ip都不一樣,這樣的話(huà),對方是檢測不到異常的。

  快速代理

  這個(gè)網(wǎng)站收錄大量免費的高密代理可以使用,對方無(wú)法檢測和追蹤ip!

  03-3。其他

  如果以上還是請求不到頁(yè)面,那你繼續盡可能的攜帶Resquest Headers請求頭中的信息。讓對方以為你是瀏覽器。

  04.完整代碼

  import requests

from bs4 import BeautifulSoup

import random

# 全部網(wǎng)頁(yè)列表,后面進(jìn)行循環(huán)取出頁(yè)面,然后處理

urllist = [&#39;http://www.quanben5.com/n/chuimianbuhanyangliufeng/{}.html&#39;.format(page) for page in range(17482,17650)]

# 請求頭

headers = {

<p>

"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36"

}

# 正向代理,代理池。

# 如果一個(gè)ip地址,快速,一直請求的話(huà),會(huì )被網(wǎng)頁(yè)認為是爬蟲(chóng),然后把你的ip地址封禁了。。所以用正向代理。。然后在下面用random模塊,隨機取出一個(gè)ip地址進(jìn)行請求!

paramslist = [&#39;121.232.199.237:9000&#39;,&#39;125.108.67.254:9000&#39;,&#39;123.163.118.102:9999&#39;,

&#39;125.108.67.254:9000&#39;,&#39;171.35.172.151:9999&#39;,&#39;123.101.231.234:9999&#39;,

&#39;125.108.67.254:9000&#39;,&#39;123.163.118.102:9999&#39;,&#39;171.35.172.151:9999&#39;,

&#39;123.101.231.234:9999&#39;,&#39;113.195.16.16:9999&#39;,&#39;175.44.109.145:9999&#39;,

&#39;125.108.85.141:9000&#39;,&#39;175.43.32.21:9999&#39;,&#39;183.166.103.22:9999&#39;,

&#39;125.110.96.80:9000&#39;,&#39;123.160.69.100:9999&#39;,&#39;112.111.217.69:9999&#39;,

&#39;1.199.30.133:9999&#39;,&#39;123.55.102.150:9999&#39;,&#39;120.83.104.196:9999&#39;,

&#39;180.118.128.138:9000&#39;,&#39;163.204.95.253:9999&#39;,&#39;113.195.18.89:9999&#39;,

&#39;113.195.16.191:9999&#39;,&#39;175.42.129.76:9999&#39;,&#39;125.110.124.214:9000&#39;,

&#39;125.110.102.54:9000&#39;,&#39;36.249.119.16:9999&#39;,&#39;125.110.89.240:9000&#39;,

&#39;171.35.146.70:9999&#39;,&#39;124.93.201.59:42672&#39;,&#39;171.35.173.112:9999&#39;]

# 從代理池里面,隨機取出一個(gè)ip地址,進(jìn)行訪(fǎng)問(wèn)

httpindex = random.randint(0,len(paramslist)-1)

params = {

&#39;HTTP&#39;: paramslist[httpindex]

}

# for循環(huán)每一個(gè)列表,進(jìn)行處理

for pageurl in urllist:

# 下面的兩行就是看一個(gè)下載進(jìn)度提示,沒(méi)有意義

index1 = urllist.index(pageurl)+1

print("第{}下載".format(index1))

# 發(fā)送請求,獲取頁(yè)面

response = requests.get(url=pageurl,headers=headers,params=params)

reshtml = response.content.decode()

# 用bs4解析頁(yè)面

soup = BeautifulSoup(reshtml,&#39;lxml&#39;)

# 獲取小說(shuō)全部?jì)热莸臉撕?/p>

restextlist = soup.select(&#39;#content p&#39;)

# 獲取小說(shuō)標題的標簽

titlelist = soup.select(&#39;.content h1&#39;)

# 獲取標題的文字,然后進(jìn)行特殊符號的替換,以免很后面文章命名文件出錯

title_text = titlelist[0].get_text()

title_text =title_text.replace(&#39;*&#39;,&#39;&#39;)

print("正在下載---{}---".format(title_text))

# 打開(kāi)文件,進(jìn)行寫(xiě)入文章的全部的小說(shuō),文件命名就是“標題.txt”,寫(xiě)的方式&#39;w&#39;,編碼方式是&#39;utf-8&#39;

with open("./08novel/{}.txt".format(title_text),&#39;w&#39;,encoding=&#39;utf-8&#39;) as f:

f.write(title_text+"\n")

# for循環(huán)獲取的article_text 是帶有內容的p標簽

for article_text in restextlist:

# article_text.get_text()這一個(gè)才是p標簽,獲取其中的內容。換行

f.write(article_text.get_text()+"\n")

print("下載完成---{}---".format(title_text))

print("全部下載完成!")

</p>

  05.結論:

  個(gè)人記錄,初學(xué)者入門(mén),學(xué)到很多,歡迎交流討論!

  技巧:免費關(guān)鍵詞挖掘工具有哪些,五款必備工具推薦

  眾所周知,網(wǎng)站關(guān)鍵詞分為目標關(guān)鍵詞和長(cháng)尾關(guān)鍵詞。目標關(guān)鍵詞作為網(wǎng)站的靈魂,定義了網(wǎng)站的中心思想和內容建設與拓展的方向。選擇正確的目標關(guān)鍵詞就像選擇成功之路長(cháng)尾關(guān)鍵詞指的是網(wǎng)站非目標關(guān)鍵詞但也能帶來(lái)搜索流量關(guān)鍵詞 , 優(yōu)化長(cháng)尾關(guān)鍵詞 能夠給一個(gè)網(wǎng)站帶來(lái)巨大的流量,挖掘出有用戶(hù)需求的長(cháng)尾關(guān)鍵詞,就像在成功的路上擁有一輛車(chē)!

  如何快速有效地挖掘出長(cháng)尾關(guān)鍵詞一直困擾著(zhù)很多SEO初學(xué)者。今天追夢(mèng)人就來(lái)告訴大家如何快速有效挖掘長(cháng)尾關(guān)鍵詞,提高工作效率!

  下面介紹幾種方便快捷有效的長(cháng)尾關(guān)鍵詞挖礦方法:

  1.利用“百度指數”尋找用戶(hù)需求

  打開(kāi)百度索引頁(yè)(),輸入目標關(guān)鍵詞,點(diǎn)擊查看索引,然后選擇需求圖。

  

  滑動(dòng)到頁(yè)面底部以查看熱門(mén)搜索。

  根據百度指數展示的需求圖以及相關(guān)搜索詞和熱門(mén)搜索中上升最快的搜索詞,我們可以列出一些比較流行的長(cháng)尾關(guān)鍵詞。

  2.百度推廣客戶(hù)端-關(guān)鍵詞工具

  百度推廣客戶(hù)端()作為百度搜索推廣、網(wǎng)盟推廣的利器,不僅給眾多SEMer帶來(lái)了極大的便利,關(guān)鍵詞工具也適合SEOer工作中的長(cháng)尾關(guān)鍵詞挖掘. 我們只需要注冊(注冊地址)并登錄百度推廣賬號就可以使用這個(gè)工具(免費)。

  點(diǎn)擊關(guān)鍵詞工具,等待彈出對話(huà)框,輸入搜索關(guān)鍵詞,關(guān)鍵詞工具會(huì )列出相關(guān)的長(cháng)尾關(guān)鍵詞,并顯示關(guān)鍵詞 date 搜索量一般,競爭激烈等!

  3.利用“詞庫網(wǎng)絡(luò )”挖掘長(cháng)尾關(guān)鍵詞

  ()是一個(gè)綜合性的網(wǎng)站關(guān)鍵詞詞庫,包括最新關(guān)鍵詞庫、熱門(mén)關(guān)鍵詞庫、競價(jià)關(guān)鍵詞庫、行業(yè)關(guān)鍵詞 圖書(shū)館等

  

  選擇長(cháng)尾詞庫,輸入關(guān)鍵詞搜索,會(huì )為我們列出與目標關(guān)鍵詞相關(guān)的長(cháng)尾關(guān)鍵詞。并且會(huì )顯示與目標關(guān)鍵詞相關(guān)的長(cháng)尾關(guān)鍵詞的數量、索引、搜索趨勢、搜索結果、排名第一網(wǎng)站等。

  4.使用“愛(ài)站工具包”-關(guān)鍵詞查詢(xún)

  愛(ài)站Toolkit()是SEOer必備的聚合工具包,匯集了日常SEO工作所需的眾多工具,只需注冊登錄即可使用(免費)。

  選擇關(guān)鍵詞挖掘,可以快速有效地挖掘與目標關(guān)鍵詞相關(guān)的長(cháng)尾關(guān)鍵詞。支持百度索引批量查詢(xún)和關(guān)鍵詞挖掘功能,可快速批量查詢(xún)導出指定級別索引關(guān)鍵詞。關(guān)鍵詞挖礦可以挖掘出自愛(ài)站打開(kāi)站點(diǎn)以來(lái)的所有數據,并支持關(guān)聯(lián)、過(guò)濾等篩選、導出等功能。

  寫(xiě)在最后

  還有一些類(lèi)似的工具,比如:站長(cháng)助手、追詞助手、金花關(guān)鍵詞工具等,這里就不一一舉例了,只要掌握了以上的工具和方法,你絕對可以滿(mǎn)足SEOer的長(cháng)尾關(guān)鍵詞挖掘。

0 個(gè)評論

要回復文章請先登錄注冊


官方客服QQ群

微信人工客服

QQ人工客服


線(xiàn)

亚洲国产精品无码久久大片,亚洲AV无码乱码麻豆精品国产,亚洲品质自拍网站,少妇伦子伦精品无码STYLES,国产精久久久久久久