91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何爬取百度貼吧圖片

發布時間:2022-01-13 15:03:02 來源:億速云 閱讀:171 作者:小新 欄目:大數據

這篇文章將為大家詳細講解有關python如何爬取百度貼吧圖片,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

1,目標:

爬取貼吧每一貼,樓主圖,并保存。

由于圖片大多是樓主發的,如果全部查找會浪費很多時間。

2,分析

我選擇爬取的貼吧為圖吧,你們可以選擇自己想要爬取的貼吧。

2.1,獲取頁面

我們將爬取頁面的代碼寫成一個get_html()方法,給他傳入url參數

代碼如圖:

python如何爬取百度貼吧圖片

獲取正常,沒問題。

我們用chrome的開發者模式來分析每個貼的連接,用定位定位一個帖子,這樣方便我們快速的去查找我們想要的信息。

如圖:

python如何爬取百度貼吧圖片

2.2利用正則表達式找出我們想要的連接

通過查找,我們發現每個貼都是在class=“col2_right j_threalist_li/_right”下

我們可以讓他成為一個標志位,通過它繼續往下找,他有兩個類名,我們選擇后者即可。

<div.*?j_threadlist_li_right.*?>.*?<a.*?href=\"(.*?)\".*?>(.*?)</a>

返回的是一個數組,為了好看我們以字典的方式返回,用yield我們可以理解為返回值,在python基礎里會講,我們將獲取的頁面作為參數傳進去,實現get_url方法。

如圖:

python如何爬取百度貼吧圖片

我們來打印一下,看一下獲取的是什么?

結果如圖:

python如何爬取百度貼吧圖片

很明顯,我們需要來拼接一下,獲取完整的url,我們點擊一個進入,可以發現,url是這樣的:https://tieba.baidu.com/p/5768252315,我們得到了后半部分,那就容易了,只需要拼接一下,得到的結果就變成了:

python如何爬取百度貼吧圖片

得到鏈接后,我們需要再次發送請求,獲取到每個貼的內容,即調用我們上面寫好的get_html()方法即可。

2.3找到每個帖子樓主發的圖片鏈接

同樣的方式,打開開發者模式,找的圖片,找出標志位,寫出正則,這里就不詳細說了,正則為:<img.*?BDE_Image.*?src=\"(http.*?//img.*?)\"

實現get_img_url()方法:

python如何爬取百度貼吧圖片

結果圖為:

python如何爬取百度貼吧圖片

2.4獲取到圖片地址后,自然是要下載下來實現write_to_file()方法

下載圖片,在上篇文章上已經有實例,

連接:python第二大神器requests

這里直接上代碼圖:

python如何爬取百度貼吧圖片

里面的正則是用來作為圖片名字的,time.sleep(2)是為了爬取慢點

太快會無響應或者報錯。

下面我們試一下效果:

python如何爬取百度貼吧圖片

我們來修改一下,來爬取第一頁貼種的所有貼,獲取樓主貼的總頁數

和上面同樣的方式找到總頁數,并寫出獲取總頁數的正則:<input.*?jumpPage4.*?max-page=\"(.*?)\"

實現get_ye方法,同時點擊只看樓主,url會多出see_lz=1

如圖:

python如何爬取百度貼吧圖片

2.6由于有些貼吧的貼子很多,我們就選擇獲取前十頁內容,當然你也可以寫個方法換取所有頁

這里就不實例了,在貼吧里點擊下一頁我們發現url多出pn=50,由此我們知道50為偏移量,即一頁有50個帖子pn=n 是n+1到n+50帖子

2.7整合一下代碼,我們用main()方法來調用上面的方法。

如圖:

python如何爬取百度貼吧圖片

python如何爬取百度貼吧圖片

關于“python如何爬取百度貼吧圖片”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

汉源县| 全椒县| 巍山| 安多县| 年辖:市辖区| 新兴县| 公安县| 沽源县| 贞丰县| 溧阳市| 沅陵县| 图片| 宜兴市| 博白县| 荃湾区| 大丰市| 遂溪县| 安宁市| 武宣县| 青神县| 凯里市| 灵川县| 东莞市| 东山县| 方山县| 肃南| 安国市| 浪卡子县| 凤冈县| 六安市| 岢岚县| 榕江县| 抚顺市| 治县。| 延边| 正安县| 北宁市| 阿克陶县| 石城县| 临高县| 灵石县|