摘要:網(wǎng)頁(yè)的下載本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第四講在爬蟲(chóng)入門(mén)到精通第二講中,我們了解了協(xié)議,那么我們現(xiàn)在使用這些協(xié)議來(lái)快速爬蟲(chóng)吧本文的目標(biāo)當(dāng)你看完本文后,你應(yīng)該能爬取幾乎任何的網(wǎng)頁(yè)使用抓包抓包就是將網(wǎng)絡(luò)傳輸發(fā)送與接收的數(shù)據(jù)包進(jìn)行截獲重發(fā)編輯轉(zhuǎn)
網(wǎng)頁(yè)的下載
本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第四講
在爬蟲(chóng)入門(mén)到精通第二講中,我們了解了HTTP協(xié)議,那么我們現(xiàn)在使用這些協(xié)議來(lái)快速爬蟲(chóng)吧
本文的目標(biāo)當(dāng)你看完本文后,你應(yīng)該能爬取(幾乎)任何的網(wǎng)頁(yè)
使用chrome抓包第一個(gè)案列:抓取輪子哥的動(dòng)態(tài)抓包(packet capture)就是將網(wǎng)絡(luò)傳輸發(fā)送與接收的數(shù)據(jù)包進(jìn)行截獲、重發(fā)、編輯、轉(zhuǎn)存等操作,也用來(lái)檢查網(wǎng)絡(luò)安全。抓包也經(jīng)常被用來(lái)進(jìn)行數(shù)據(jù)截取等。
打開(kāi)輪子哥動(dòng)態(tài)這個(gè)網(wǎng)頁(yè)
打開(kāi)抓包工具
點(diǎn)擊F12打開(kāi)開(kāi)發(fā)者工具
點(diǎn)擊Network(或者網(wǎng)絡(luò))
按F5刷新下頁(yè)面(主要是讓請(qǐng)求重發(fā)一次,這樣就能抓到包了)
應(yīng)該會(huì)看到如下界面
找到我們需要的請(qǐng)求
可以看到如下截圖,里面有這么多的請(qǐng)求,那么到底哪一個(gè)才是我們需要的呢 ?
這邊提供一個(gè)小技巧
當(dāng)你要抓的包是需要按F5刷新才出來(lái)的,一般我們需要的請(qǐng)求都在DOC里面(整個(gè)頁(yè)面有刷新)
當(dāng)你要抓的包是點(diǎn)擊按鈕"加載更多"(或者拖到頁(yè)面最下面會(huì)自動(dòng)加載的,整個(gè)頁(yè)面并沒(méi)有刷新)一般我們需要的請(qǐng)求都在XHR里面
簡(jiǎn)單來(lái)講就是如果整個(gè)頁(yè)面沒(méi)有刷新的話,那就是在XHR里面,否則在DOC里面
因?yàn)楸敬巫グ麄€(gè)頁(yè)面有刷新,所以,我們需要找的請(qǐng)求在DOC下面,可以看到只有一個(gè)請(qǐng)求
驗(yàn)證請(qǐng)求是對(duì)的
有以下兩種方法(基本上用1,因?yàn)楸容^快)
在我們要抓包的頁(yè)面隨便copy出幾個(gè)字,在Respoinse中使用ctrl+f 查找,如果有找到,說(shuō)明我們找到的是對(duì)的 (我查找的是"和微軟粉絲談")
把response中所有的內(nèi)容復(fù)制到一個(gè)txt中,并改名為"#.html"(這里的#可以隨便取)然后打開(kāi)這個(gè)html,看看是否和我們要抓的一樣
如果發(fā)現(xiàn)要找的不對(duì),那你可以打開(kāi)下一個(gè)請(qǐng)求檢查下
模擬發(fā)送
點(diǎn)擊Headers
可以看到請(qǐng)求的url是: https://www.zhihu.com/people/...
方法是: GET
requests headers 是(下圖中框出來(lái)的地方)
所以我們的代碼應(yīng)該是:
import requests # 這里的headers就是我們上圖框中的headers request_headers = { "Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8", "Accept-Encoding":"gzip, deflate, sdch, br", "Accept-Language":"zh-CN,zh;q=0.8", "Cache-Control":"max-age=0", "Connection":"keep-alive", "Cookie":"", "Host":"www.zhihu.com", "Referer":"https://www.zhihu.com/", "Upgrade-Insecure-Requests":"1", "User-Agent":"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36" } #上圖中的url url = "https://www.zhihu.com/people/excited-vczh/activities" # 上圖中的請(qǐng)求方法(get) z = requests.get(url,headers=request_headers) print z.content
這段代碼簡(jiǎn)單來(lái)說(shuō)就是把 我們抓包看到的用程序來(lái)實(shí)現(xiàn)
一個(gè)小總結(jié)
我們爬取一個(gè)網(wǎng)頁(yè)的步驟可以分為如下:
打開(kāi)要爬取的網(wǎng)頁(yè)
打開(kāi)開(kāi)發(fā)者工具,并讓請(qǐng)求重發(fā)一次(簡(jiǎn)單講就是抓包)
找到正確的請(qǐng)求
用程序模擬發(fā)送
第二個(gè)案列:點(diǎn)贊1.打開(kāi)要爬取的網(wǎng)頁(yè)
我們打開(kāi) "知乎 - 與世界分享你的知識(shí)、經(jīng)驗(yàn)和見(jiàn)解"
我們要點(diǎn)贊的回答是這個(gè)
2.打開(kāi)開(kāi)發(fā)者工具,并讓請(qǐng)求重發(fā)一次
打開(kāi)后"點(diǎn)擊贊一下",可以看到有好多請(qǐng)求
3.找到正確的請(qǐng)求
我們一個(gè)一個(gè)的點(diǎn)開(kāi)請(qǐng)求看,發(fā)現(xiàn)就一個(gè)有返回值,而且這個(gè)返回值沒(méi)有意義,那么怎么確定這個(gè)就是我們要找的呢?
我們可以點(diǎn)擊Headers,看一下發(fā)送的參數(shù)
vote_up 很明顯,就是點(diǎn)贊的意思。所以這個(gè)應(yīng)該就是我們要找的。
這邊說(shuō)一下,右邊"Headers,Preview,Response,Cookies,Timing"是什么意思
我們經(jīng)常要看的有,headers 和 preview
headers 里面我們都有介紹過(guò)(請(qǐng)求頭,返回頭)
preview和response里面的內(nèi)容是相同的(preview里面的內(nèi)容格式化了,輸出的好看一些),里面的內(nèi)容是html返回值
cookies 里面是cookie的值,只不過(guò)分成了key value的形式
Timing基本用不上,所以也不介紹了(想了解的話可以自己百度...)
4.用程序模擬發(fā)送
我們把headers全部copy,
url也和上面一樣
參數(shù)也是對(duì)的
請(qǐng)求方法是post
但是發(fā)現(xiàn)最終返回http code 400,這是為什么呢?
讓我們留到后面講解~
最后再次總結(jié)一下看完本篇文章后,你應(yīng)該要
能學(xué)會(huì)抓包
最后大家可以抓一下知乎登錄的包哦~
小提示:當(dāng)你要抓的網(wǎng)頁(yè)是會(huì)自動(dòng)跳轉(zhuǎn)的話,那么你需要選中“proserve log”
意思是不要在頁(yè)面重新加載后清除log(抓知乎登錄的包會(huì)用到)
最后的最后,收藏的大哥們,能幫忙點(diǎn)個(gè)贊么~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/38594.html
摘要:本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第五講在爬蟲(chóng)入門(mén)到精通第四講中,我們了解了如何下載網(wǎng)頁(yè),這一節(jié)就是如何從下載的網(wǎng)頁(yè)中獲取我們想要的內(nèi)容萬(wàn)能匹配文章的標(biāo)題文字我們要獲取的如上所示,假如我們要獲取文章的標(biāo)題這幾個(gè)文字,那么我們應(yīng)該怎么做呢我 本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第五講 在爬蟲(chóng)入門(mén)到精通第四講中,我們了解了如何下載網(wǎng)頁(yè),這一節(jié)就是如何從下載的網(wǎng)頁(yè)中獲取我們想要的內(nèi)容 萬(wàn)能匹配 h...
摘要:起初的提出的初衷是將其作為一個(gè)通用的介于與間的語(yǔ)法模型。的基本使用要使用我們需要下載,在爬蟲(chóng)入門(mén)到精通環(huán)境的搭建這一章也說(shuō)明怎么裝,如果還沒(méi)有安裝的話,那就去下載安裝吧直接看代碼實(shí)戰(zhàn)吧。 本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第六講 在爬蟲(chóng)入門(mén)到精通第五講中,我們了解了如何用正則表達(dá)式去抓取我們想要的內(nèi)容.這一章我們來(lái)學(xué)習(xí)如何更加簡(jiǎn)單的來(lái)獲取我們想要的內(nèi)容. xpath的解釋 XPath即為...
摘要:開(kāi)始爬蟲(chóng)之旅本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第一講引言我經(jīng)常會(huì)看到有人在知乎上提問(wèn)如何入門(mén)爬蟲(chóng)爬蟲(chóng)進(jìn)階利用爬蟲(chóng)技術(shù)能做到哪些很酷很有趣很有用的事情等這一些問(wèn)題,我寫(xiě)這一系列的文章的目的就是把我的經(jīng)驗(yàn)告訴大家。 開(kāi)始爬蟲(chóng)之旅 本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第一講 引言 我經(jīng)常會(huì)看到有人在知乎上提問(wèn)如何入門(mén) Python 爬蟲(chóng)?、Python 爬蟲(chóng)進(jìn)階?、利用爬蟲(chóng)技術(shù)能做到哪些很酷很有趣...
摘要:環(huán)境的安裝本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第二講的安裝我用的是,也用過(guò)但是電腦配置不行,比較卡安裝教程在這寫(xiě)的蠻清楚的然后安裝一個(gè)的插件就行見(jiàn)如下截圖點(diǎn)擊數(shù)字的地方在數(shù)字的地方輸入點(diǎn)擊右邊的安裝按鈕包的安裝配置源,不配置的話下載速度很慢在當(dāng) 環(huán)境的安裝 本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第二講 IDE的安裝 IDE我用的是VS code,也用過(guò)pycharm(但是電腦配置不行,比較卡) ...
摘要:協(xié)議的講解本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第三講什么是協(xié)議引用自維基百科超文本傳輸協(xié)議英文,縮寫(xiě)是互聯(lián)網(wǎng)上應(yīng)用最為廣泛的一種網(wǎng)絡(luò)協(xié)議。通過(guò)或者協(xié)議請(qǐng)求的資源由統(tǒng)一資源標(biāo)識(shí)符,來(lái)標(biāo)識(shí)。假定其下層協(xié)議提供可靠的傳輸。 HTTP協(xié)議的講解 本文章屬于爬蟲(chóng)入門(mén)到精通系統(tǒng)教程第三講 什么是HTTP協(xié)議? 引用自維基百科 超文本傳輸協(xié)議(英文:HyperText Transfer Protoco...
閱讀 1231·2021-11-25 09:43
閱讀 1342·2021-09-26 09:55
閱讀 2340·2021-09-10 11:20
閱讀 3370·2019-08-30 15:55
閱讀 1448·2019-08-29 13:58
閱讀 1172·2019-08-29 12:36
閱讀 2348·2019-08-29 11:18
閱讀 3413·2019-08-26 11:47