国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

淺談python爬蟲使用Selenium模擬瀏覽器行為

2020-02-22 23:17:12
字體:
供稿:網(wǎng)友

前幾天有位微信讀者問我一個(gè)爬蟲的問題,就是在爬去百度貼吧首頁的熱門動態(tài)下面的圖片的時(shí)候,爬取的圖片總是爬取不完整,比首頁看到的少。原因他也大概分析了下,就是后面的圖片是動態(tài)加載的。他的問題就是這部分動態(tài)加載的圖片該怎么爬取到。

分析

他的代碼比較簡單,主要有以下的步驟:使用BeautifulSoup庫,打開百度貼吧的首頁地址,再解析得到id為new_list標(biāo)簽底下的img標(biāo)簽,最后將img標(biāo)簽的圖片保存下來。

headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36'}data=requests.get("https://tieba.baidu.com/index.html",headers=headers)html=BeautifulSoup(data.text,'lxml')

前面提到過,有部分圖片是動態(tài)加載的,那么首先我們得弄清楚,這部分圖片是怎么動態(tài)加載的。在瀏覽器中打開百度貼吧的首頁,可以明顯的看到,在往下滾動滾動條的時(shí)候,當(dāng)滾動到底部的時(shí)候,滾動條縮短了,并向上移動了一段距離。這個(gè)現(xiàn)象也正是有DOM元素動態(tài)的添加到了html文檔的一個(gè)表現(xiàn)。動態(tài)加載數(shù)據(jù)無非就是ajax請求,而ajax本質(zhì)上就是XMLHttpRequest請求(簡稱xhr)。在谷歌瀏覽器中,我們可以通過開發(fā)者工具的network面板來監(jiān)測xhr請求。

剛打開首頁時(shí)的xhr請求,這里的請求都和要爬取的圖片無關(guān)。

滾動條向下第1次滾動到底部,這里請求的是第20-40條熱門動態(tài),包含要爬取圖片。

滾動條向下第2次滾動到底部,這里請求的是第40-60條熱門動態(tài),包含要爬取圖片。并且返回的的has_more:false表明沒有跟多數(shù)據(jù)了。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 边坝县| 利辛县| 麻江县| 龙州县| 库尔勒市| 陆川县| 肥城市| 三亚市| 天台县| 沙湾县| 神木县| 特克斯县| 志丹县| 高台县| 澳门| 白城市| 上栗县| 从化市| 泾阳县| 延长县| 华池县| 肥城市| 乌拉特中旗| 闵行区| 广东省| 灵山县| 成安县| 神池县| 商丘市| 清新县| 洱源县| 镇雄县| 遂宁市| 安康市| 星子县| 南靖县| 承德县| 濉溪县| 庆城县| 梁河县| 桐柏县|