摘要:隨后,為了保險(xiǎn),重啟,火狐瀏覽器也重啟一下,然后開始抓的包,此時(shí)你會(huì)發(fā)現(xiàn)你的連接并不安全等類似提示已經(jīng)消失,并且已經(jīng)能夠抓包了。
封裝模塊
#!/usr/bin/env?python #?-*-?coding:?utf-8?-*- import?urllib from?urllib?import?request import?json import?random import?re import?urllib.error def?hq_html(hq_url): ????""" ????hq_html()封裝的爬蟲函數(shù),自動(dòng)啟用了用戶代理和ip代理 ????接收一個(gè)參數(shù)url,要爬取頁面的url,返回html源碼 ????""" ????def?yh_dl():????#創(chuàng)建用戶代理池 ????????yhdl?=?[ ????????????"Mozilla/5.0?(Windows;?U;?Windows?NT?6.1;?en-us)?AppleWebKit/534.50?(KHTML,?like?Gecko)?Version/5.1?Safari/534.50", ????????????"Mozilla/5.0?(compatible;?MSIE?9.0;?Windows?NT?6.1;?Trident/5.0", ????????????"Mozilla/4.0?(compatible;?MSIE?8.0;?Windows?NT?6.0;?Trident/4.0)", ????????????"Mozilla/5.0?(Macintosh;?Intel?Mac?OS?X?10.6;?rv:2.0.1)?Gecko/20100101?Firefox/4.0.1", ????????????"Mozilla/5.0?(Windows?NT?6.1;?rv:2.0.1)?Gecko/20100101?Firefox/4.0.1", ????????????"Opera/9.80?(Macintosh;?Intel?Mac?OS?X?10.6.8;?U;?en)?Presto/2.8.131?Version/11.11", ????????????"Opera/9.80?(Windows?NT?6.1;?U;?en)?Presto/2.8.131?Version/11.11", ????????????"Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.1;?Maxthon?2.0)", ????????????"Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.1;?TencentTraveler?4.0)", ????????????"Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.1)", ????????????"Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.1;?The?World)", ????????????"Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.1;?360SE)", ????????????"Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.1;?Avant?Browser)", ????????????"Mozilla/4.0?(compatible;?MSIE?7.0;?Windows?NT?5.1)", ????????????"Mozilla/5.0?(iPhone;?U;?CPU?iPhone?OS?4_3_3?like?Mac?OS?X;?en-us)?AppleWebKit/533.17.9?(KHTML,?like?Gecko)?Version/5.0.2?Mobile/8J2?Safari/6533.18.5", ????????????"User-Agent:Mozilla/5.0?(iPod;?U;?CPU?iPhone?OS?4_3_3?like?Mac?OS?X;?en-us)?AppleWebKit/533.17.9?(KHTML,?like?Gecko)?Version/5.0.2?Mobile/8J2?Safari/6533.18.5", ????????????"Mozilla/5.0?(iPad;?U;?CPU?OS?4_3_3?like?Mac?OS?X;?en-us)?AppleWebKit/533.17.9?(KHTML,?like?Gecko)?Version/5.0.2?Mobile/8J2?Safari/6533.18.5", ????????????"Mozilla/5.0?(Linux;?U;?Android?2.3.7;?en-us;?Nexus?One?Build/FRF91)?AppleWebKit/533.1?(KHTML,?like?Gecko)?Version/4.0?Mobile?Safari/533.1", ????????????"Opera/9.80?(Android?2.3.4;?Linux;?Opera?Mobi/build-1107180945;?U;?en-GB)?Presto/2.8.149?Version/11.10", ????????????"Mozilla/5.0?(Linux;?U;?Android?3.0;?en-us;?Xoom?Build/HRI39)?AppleWebKit/534.13?(KHTML,?like?Gecko)?Version/4.0?Safari/534.13", ????????????"Mozilla/5.0?(BlackBerry;?U;?BlackBerry?9800;?en)?AppleWebKit/534.1+?(KHTML,?like?Gecko)?Version/6.0.0.337?Mobile?Safari/534.1+", ????????????"Mozilla/5.0?(compatible;?MSIE?9.0;?Windows?Phone?OS?7.5;?Trident/5.0;?IEMobile/9.0;?HTC;?Titan)", ????????????"UCWEB7.0.2.37/28/999", ????????????"NOKIA5700/?UCWEB7.0.2.37/28/999", ????????????"Openwave/?UCWEB7.0.2.37/28/999", ????????????"Mozilla/4.0?(compatible;?MSIE?6.0;?)?Opera/UCWEB7.0.2.37/28/999" ????????????] ????????thisua?=?random.choice(yhdl)????????????????????#隨機(jī)獲取代理信息 ????????headers?=?("User-Agent",thisua)?????????????????#拼接報(bào)頭信息 ????????opener?=?urllib.request.build_opener()??????????#創(chuàng)建請(qǐng)求對(duì)象 ????????opener.addheaders=[headers]?????????????????????#添加報(bào)頭到請(qǐng)求對(duì)象 ????????urllib.request.install_opener(opener)???????????#將報(bào)頭信息設(shè)置為全局,urlopen()方法請(qǐng)求時(shí)也會(huì)自動(dòng)添加報(bào)頭 ????def?dai_li_ip(hq_url):????#創(chuàng)建ip代理池 ????????url?=?"http://http-webapi.zhimaruanjian.com/getip?num=1&type=2&pro=&city=0&yys=0&port=11&time=1&ts=0&ys=0&cs=0&lb=1&sb=0&pb=4&mr=1" ????????if?url: ????????????data?=?urllib.request.urlopen(url).read().decode("utf-8") ????????????data2?=?json.loads(data)??#?將字符串還原它本來的數(shù)據(jù)類型 ????????????#?print(data2["data"][0]) ????????????ip?=?str(data2["data"][0]["ip"]) ????????????dkou?=?str(data2["data"][0]["port"]) ????????????zh_ip?=?ip?+?":"?+?dkou ????????????pat?=?"(w*):w*" ????????????rst?=?re.compile(pat).findall(hq_url)??#正則匹配獲取是http協(xié)議還是https協(xié)議 ????????????rst2?=?rst[0] ????????????proxy?=?urllib.request.ProxyHandler({rst2:?zh_ip})??#?格式化IP,注意,第一個(gè)參數(shù),請(qǐng)求目標(biāo)可能是http或者h(yuǎn)ttps,對(duì)應(yīng)設(shè)置 ????????????opener?=?urllib.request.build_opener(proxy,?urllib.request.HTTPHandler)??#?初始化IP ????????????urllib.request.install_opener(opener)??#?將代理IP設(shè)置成全局,當(dāng)使用urlopen()請(qǐng)求時(shí)自動(dòng)使用代理IP ????????else: ????????????pass ????#請(qǐng)求 ????try: ????????dai_li_ip(hq_url)?#執(zhí)行代理IP函數(shù) ????????yh_dl()?????#執(zhí)行用戶代理池函數(shù) ????????data?=?urllib.request.urlopen(hq_url).read().decode("utf-8") ????????return?data ????except?urllib.error.URLError?as?e:??#?如果出現(xiàn)錯(cuò)誤 ????????if?hasattr(e,?"code"):??#?如果有錯(cuò)誤代碼 ????????????#?print(e.code)??#?打印錯(cuò)誤代碼 ????????????pass ????????if?hasattr(e,?"reason"):??#?如果有錯(cuò)誤信息 ????????????#?print(e.reason)??#?打印錯(cuò)誤信息 ????????????pass #?a?=?hq_html("http://www.baid.com/") #?print(a)
實(shí)戰(zhàn)爬取搜狗微信公眾號(hào)
#!/usr/bin/env?python #?-*-?coding:?utf-8?-*- import?urllib.request import?fzhpach import?re #抓取搜狗微信公眾號(hào) #http://weixin.sogou.com/weixin?type=1&query=php&page=1 #type=1表示顯示公眾號(hào) #type=2表示抓取文章 #query=關(guān)鍵詞 #page=頁碼 gjc?=?"火鍋" gjc?=?urllib.request.quote(gjc)?????????????????#將關(guān)鍵詞轉(zhuǎn)碼成瀏覽器認(rèn)識(shí)的字符,默認(rèn)網(wǎng)站不能是中文 url?=?"http://weixin.sogou.com/weixin?type=1&query=%s&page=1"?%(gjc) html?=?fzhpach.hq_html(url)?????????????????????????????????????#使用我們封裝的爬蟲模塊 pat?=?"微信號(hào):" rst?=?re.compile(pat).findall(html)??#正則獲取公眾號(hào) print(rst) #返回 #["cqhuoguo1",?"qkmjscj888",?"cdsbcdhs",?"zk4538111",?"lamanannv",?"ctm2813333",?"cslhg2016",?"gh_978a858b478f",?"CCLWL0431",?"yuhehaixian"]
抓包教程
首先安裝Fiddler4
軟件界面說明
清除請(qǐng)求
設(shè)置抓包瀏覽器
這樣設(shè)置好后,這個(gè)瀏覽器訪問的網(wǎng)址就會(huì)在抓包軟件里看到信息了
設(shè)置抓取https協(xié)議的網(wǎng)站
導(dǎo)出證書到桌面
將證書安裝到瀏覽器
可以看到軟件已經(jīng)獲取到https網(wǎng)站了
疑難問題解決:
有些可能已經(jīng)按照流程在feiddler中設(shè)置好了https抓包,但死活抓不了
(1)首先,看看火狐瀏覽器的配置,是不是下方“為所有協(xié)議使用相同代理”的地方?jīng)]有勾選上,如果是,請(qǐng)勾選上。
有一部分做到這一步應(yīng)該能解決無法抓https的問題。如果還不行,請(qǐng)繼續(xù)往下看。
一般這個(gè)時(shí)候,還不行,應(yīng)該就是你的證書問題了,有些可能會(huì)問,我是按照正常流程導(dǎo)出并安裝的證書,也會(huì)有問題?
對(duì)的,就是這么奇怪。
(2)接下來,請(qǐng)?jiān)谙旅孢@個(gè)地方輸入certmgr.msc并回車,打開證書管理。
打開后如下所示:
請(qǐng)點(diǎn)擊操作–查找證書,如下所示:
然后輸入fiddler查找所有相關(guān)證書,如下所示:
可以看到,我們找到一個(gè),您可能會(huì)找到多個(gè),不要緊,有多少個(gè)刪多少個(gè),分別右鍵–刪除這些證書,如下所示:
全刪之后,這一步完成。
(3)再接下來,打開火狐瀏覽器,進(jìn)入選項(xiàng)-高級(jí)-證書-查看證書,然后找以DO_NOT開頭的關(guān)于Fiddler的證書,以字母排序的,所以你可以很快找到。如下所示,我們找到兩個(gè),不用多說,右鍵,然后全部依次刪除。你可能找到一個(gè)或多個(gè),反正找到多少個(gè)刪多少個(gè)就行,另外,特別注意,請(qǐng)如圖中【個(gè)人、服務(wù)器、證書機(jī)構(gòu)、其他】等標(biāo)簽依次查找,以免遺漏,切記切記!
這些全刪之后,這一步完成,現(xiàn)在證書已經(jīng)全部清理了,進(jìn)入下一步。
(4)下載?FiddlerCertMaker.exe,可以去官網(wǎng)找,如不想麻煩,直接下載我提供的,鏈接如下:
鏈接:?https://pan.baidu.com/s/1bQBhxG?密碼: cu85
下載了這個(gè)之后,直接打開,不管出現(xiàn)什么錯(cuò)誤,直接忽略,直到出現(xiàn)如下界面為止:
然后點(diǎn)擊確定,關(guān)掉它。
(5)有了證書之后,請(qǐng)重啟Fiddler(關(guān)掉再開),重啟之后,訪問https的網(wǎng)站,比如淘寶首頁,有可能成功了,但你也有可能會(huì)發(fā)現(xiàn)如下錯(cuò)誤:
“你的連接并不安全” 等類似提示
見到這里,你應(yīng)該開心,離成功近了。
(6)果斷的,打開fiddler,“Tools–Fiddler Options–HTTPS”,然后把下圖中同樣的地方勾上(注意一致),然后點(diǎn)擊actions,然后先點(diǎn)擊Trust Root…,然后,再點(diǎn)擊Export Root…,此時(shí),導(dǎo)出成功的話,在桌面就有你的證書了。務(wù)必注意:這一步成功的話,把第(7)步跳過,不要做了,直接進(jìn)入第(8)步,如失敗,請(qǐng)繼續(xù)第(7步)。
(7)務(wù)必注意:上一步成功的話,把這一步跳過,不要做了。如果,你在導(dǎo)出的時(shí)候出現(xiàn):creation of the root certificate was not located等錯(cuò)誤,不要慌。接下來在cmd命令行中進(jìn)入Fiddler安裝目錄,比如我的是C盤,所以進(jìn)入如下圖所示Fiddler2目錄,然后直接復(fù)制下方make那一行代碼,然后直接cmd中運(yùn)行,出現(xiàn)如下所示succeeded提示,出現(xiàn)這一步提示之后,再按步驟(6)的方法導(dǎo)出證書,就能成功了:
makecert.exe -r -ss my -n “CN=DO_NOT_TRUST_FiddlerRoot, O=DO_NOT_TRUST, OU=Created by?http://www.fiddler2.com” -sky signature -eku 1.3.6.1.5.5.7.3.1 -h 1 -cy authority -a sha1 -m 120 -b 09/05/2012
(8)好,證書導(dǎo)入到桌面后,請(qǐng)打開火狐瀏覽器,然后進(jìn)入選項(xiàng)-高級(jí)-證書-查看證書-導(dǎo)入-選擇剛導(dǎo)出的桌面的證書-確定。
(9)隨后,為了保險(xiǎn),F(xiàn)iddler重啟,火狐瀏覽器也重啟一下,然后開始抓HTTPS的包,此時(shí)你會(huì)發(fā)現(xiàn)“你的連接并不安全” 等類似提示已經(jīng)消失,并且已經(jīng)能夠抓包了。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/44134.html
摘要:以下這些項(xiàng)目,你拿來學(xué)習(xí)學(xué)習(xí)練練手。當(dāng)你每個(gè)步驟都能做到很優(yōu)秀的時(shí)候,你應(yīng)該考慮如何組合這四個(gè)步驟,使你的爬蟲達(dá)到效率最高,也就是所謂的爬蟲策略問題,爬蟲策略學(xué)習(xí)不是一朝一夕的事情,建議多看看一些比較優(yōu)秀的爬蟲的設(shè)計(jì)方案,比如說。 (一)如何學(xué)習(xí)Python 學(xué)習(xí)Python大致可以分為以下幾個(gè)階段: 1.剛上手的時(shí)候肯定是先過一遍Python最基本的知識(shí),比如說:變量、數(shù)據(jù)結(jié)構(gòu)、語法...
摘要:通過本文的學(xué)習(xí),可以快速掌握網(wǎng)絡(luò)爬蟲基礎(chǔ),結(jié)合實(shí)戰(zhàn)練習(xí),寫出一些簡單的爬蟲項(xiàng)目。從技術(shù)手段來說,網(wǎng)絡(luò)爬蟲有多種實(shí)現(xiàn)方案,如。二網(wǎng)絡(luò)爬蟲技術(shù)基礎(chǔ)在本次課中,將使用技術(shù)手段進(jìn)行項(xiàng)目的編寫。 摘要:本文詳細(xì)講解了python網(wǎng)絡(luò)爬蟲,并介紹抓包分析等技術(shù),實(shí)戰(zhàn)訓(xùn)練三個(gè)網(wǎng)絡(luò)爬蟲案例,并簡單補(bǔ)充了常見的反爬策略與反爬攻克手段。通過本文的學(xué)習(xí),可以快速掌握網(wǎng)絡(luò)爬蟲基礎(chǔ),結(jié)合實(shí)戰(zhàn)練習(xí),寫出一些簡單的...
摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:今天為大家整理了個(gè)爬蟲項(xiàng)目。地址新浪微博爬蟲主要爬取新浪微博用戶的個(gè)人信息微博信息粉絲和關(guān)注。代碼獲取新浪微博進(jìn)行登錄,可通過多賬號(hào)登錄來防止新浪的反扒。涵蓋鏈家爬蟲一文的全部代碼,包括鏈家模擬登錄代碼。支持微博知乎豆瓣。 showImg(https://segmentfault.com/img/remote/1460000018452185?w=1000&h=667); 今天為大家整...
摘要:百度云搜索,搜各種資料搜網(wǎng)盤,搜各種資料爬取百度新聞,爬取動(dòng)態(tài)生成的信息,抓取百度新聞首頁的新聞地址有多網(wǎng)站,當(dāng)你瀏覽器訪問時(shí)看到的信息,在源文件里卻找不到,由得信息還是滾動(dòng)條滾動(dòng)到對(duì)應(yīng)的位置后才顯示信息,那么這種一般都是的動(dòng)態(tài)請(qǐng)求生成的信 【百度云搜索,搜各種資料:http://www.bdyss.cn】 【搜網(wǎng)盤,搜各種資料:http://www.swpan.cn】 crapy爬取...
閱讀 1567·2021-10-11 10:59
閱讀 1987·2021-09-09 11:36
閱讀 1510·2019-08-30 15:55
閱讀 1370·2019-08-29 11:20
閱讀 3113·2019-08-26 13:39
閱讀 1514·2019-08-26 13:37
閱讀 2030·2019-08-26 12:11
閱讀 1371·2019-08-23 14:28