網(wǎng)頁(yè)爬蟲(chóng)抓取百度圖片(在python學(xué)習之路(10):爬蟲(chóng)進(jìn)階,使用python爬取)
優(yōu)采云 發(fā)布時(shí)間: 2022-02-14 08:11網(wǎng)頁(yè)爬蟲(chóng)抓取百度圖片(在python學(xué)習之路(10):爬蟲(chóng)進(jìn)階,使用python爬取)
python學(xué)習之路(一0):高級爬蟲(chóng),用python爬取你喜歡的小說(shuō)
在這個(gè) 文章 中,我們使用 BeautifulSoup 爬取了一本小說(shuō)。這是學(xué)習BeautifulSoup后寫(xiě)的第一個(gè)小程序,但是感覺(jué)自己對BeautifulSoup的使用不夠熟練,所以再寫(xiě)一個(gè)爬蟲(chóng)。增強 BeautifulSoup 的使用。
本次抓取微信公眾號的文章標題、文章摘要、文章網(wǎng)址、文章封面圖片網(wǎng)址、公眾號名稱(chēng)等信息。
python學(xué)習之路(12):連接Mysql數據庫及簡(jiǎn)單的增刪改查查詢(xún)回滾操作)
在這個(gè)文章中,我們談到了mysql的使用,所以這次我們將抓取的數據存儲在數據庫中。
我們不應該忘記我們以前學(xué)過(guò)的知識。我們應該把以前學(xué)過(guò)的東西都應用到現在的學(xué)習中,這樣可以讓我們復習舊知識,更牢牢地掌握知識點(diǎn)。
微信文章捕獲的地址為:
這是搜狗微信的搜索頁(yè)面,里面的文章每隔幾個(gè)小時(shí)就會(huì )更新一次。所以在這里抓取 文章 是相當全面的。
想法
1、 研究網(wǎng)頁(yè)結構
2、 使用 BeautifulSoup 解析我們需要的信息
3、 將解析后的信息存入mysql數據庫
學(xué)習網(wǎng)絡(luò )結構
研究網(wǎng)頁(yè)的結構,當然是右鍵->檢查元素
但是很快我發(fā)現了一個(gè)問(wèn)題,每個(gè)頁(yè)面只有20篇微信文章文章,要查看更多,我必須點(diǎn)擊“加載更多”按鈕。首先想了一下能不能用python來(lái)點(diǎn)擊,但是網(wǎng)上找的方法太深奧了,對python的學(xué)習還沒(méi)有深入,所以決定換一種方式。
懂一點(diǎn)JS的人都知道,如果是做“加載更多”之類(lèi)的功能,就必須使用AJAX向服務(wù)器請求新的數據,所以在我點(diǎn)擊“加載更多”按鈕后,我使用了瀏覽器的網(wǎng)絡(luò )看到這個(gè)請求。
我猜這一定是請求新數據的接口,我們打開(kāi)看看
哈哈,這個(gè)頁(yè)面也是微信文章的頁(yè)面,簡(jiǎn)單多了,大大降低了我們分析的難度。
并且發(fā)現了另一種模式。此 URL 以 1.html 結尾。
如果我把它改成 2.html
哈哈,神奇的發(fā)現改成2.html還是可以訪(fǎng)問(wèn)的,所以我大膽猜測,這應該是頁(yè)數的意思。
我在上面的 URL 中發(fā)現的另一個(gè)有趣的事情是有一個(gè) PC_0。
所以我決定把它改成 pc_1 試試看。
還能訪(fǎng)問(wèn),看到這邊的信息讓我覺(jué)得這是不是文章的另一類(lèi)。
在審查了元素之后,這證實(shí)了我的懷疑。
經(jīng)過(guò)以上研究,以下地址
可以得出兩個(gè)結論:
1、后面的1.html是頁(yè)數,不同的數字代表不同的頁(yè)數。
2、 后面pc_0中的0代表分類(lèi),不同的數字代表不同的類(lèi)型。
有了這兩個(gè)結論,我們寫(xiě)一個(gè)抓微信文章的代碼就簡(jiǎn)單多了。
這個(gè)文章就寫(xiě)到這里了,后面我會(huì )根據這個(gè)文章得到的結論來(lái)談抓數據,因為我在研究這個(gè)網(wǎng)頁(yè)的時(shí)候也在寫(xiě)這個(gè)文章。我也寫(xiě)了代碼。這個(gè)文章會(huì )先解釋一下研究一個(gè)網(wǎng)頁(yè)的思路。等我把代碼寫(xiě)好整理后,分享給大家。