摘要:按照同樣的方式扒取所有的自己的用戶。但是為了尊重人家隱私權(quán),好吧,就這樣吧,我也不能做啥。
這幾天我很焦慮,受不了那些先f(wàn)ollow我,等我follow回去后又unfollow的人,因?yàn)槭撬麄兿萬(wàn)ollow我的,我出于人道主義想著互粉一下的,結(jié)果這么對(duì)我,太不厚道了。github又不像微博那樣有互粉標(biāo)志,這真的整得我很心煩,于是想著寫一個(gè)爬蟲,把這些“壞人”揪出來(lái)~
第一步,當(dāng)然是放出代碼啦,代碼放在我的github上,歡迎給star:
https://github.com/laurel-he/...
我是一個(gè)python初學(xué)者,完全小白,所以只能用比較蠢的方法來(lái)扒,以下是我的步驟:
1 扒取整個(gè)頁(yè)面
# -*- coding:UTF-8 -*- import requests if __name__ == "__main__": target = "https://github.com/laurel-he?tab=followers" req = requests.get(url=target) fo = open("1.txt", "ab+") fo.write((req.text).encode("UTF-8")) fo.close()
以上代碼可以將整個(gè)文件的html扒取下來(lái),接下來(lái)找到用戶,在follower里面隨便找到一個(gè)用戶,在剛才生成的txt文件中搜索,然后就可以得到如下匹配:
data-octo-dimensions="link_type:self".href="/(.?)"
可以直接匹配出用戶名。
2 根據(jù)正則獲取匹配的用戶
剛才已經(jīng)把整個(gè)頁(yè)面扒取下來(lái)了,代碼放在spider/follwers/url.py,txt文件效果如下:
但是我想要獲取的是所有follwer,之前已經(jīng)得到了對(duì)應(yīng)的正則表達(dá)式,那么得到所有的follwer很容易,最終代碼如下:
# -*- coding:UTF-8 -*- import requests import re if __name__ == "__main__": target = "https://github.com/laurel-he?tab=followers" req = requests.get(url=target) context = req.text patt = re.compile(r"data-octo-dimensions="link_type:self".*href="/(.*?)"") ch = patt.findall(req.text) fo = open("flower.txt","ab+") for i in ch: line = str(i) + " " fo.write((line).encode("UTF-8")+b" ") fo.close
以上代碼可以直接扒取所有follwers,但是出現(xiàn)了兩遍,因?yàn)槲疫@個(gè)表達(dá)式每個(gè)名字會(huì)匹配到兩次,下一版本會(huì)更換正則表達(dá)式,先將就用吧,然后如法炮制扒取第二頁(yè)第三頁(yè),只需要更改鏈接地址,加上page就可以,同時(shí)也可以把文件寫入方式變成追加方式,或者干脆每次都新建一個(gè)文件,無(wú)所謂,總之最終將所有用戶扒取下來(lái)。按照同樣的方式扒取所有的自己follwing的用戶。
這里注意的是,代碼里一定要加上換行!換行符不加就是一團(tuán)亂麻,啥也看不清。
換行符添加后不成功的話試試加上"r",也許就能成功了;
還是不成功的話看看報(bào)錯(cuò)是不是這個(gè)樣子滴:
是的話加上b方法,轉(zhuǎn)化成byte~
3 接下來(lái)是最傻最騷的操作-對(duì)比
想要找出來(lái)那個(gè)沒(méi)有follow自己的人,只能進(jìn)行對(duì)比,我目前用了一個(gè)很傻的辦法就是新建一個(gè)excel文件,按照列粘貼所有數(shù)據(jù),然后按照升序或降序排行(兩列排列方式要一樣),然后肉眼來(lái)對(duì)比!?。?/p>
其實(shí)我還是覺(jué)得我要瞎了,但是真的比起一個(gè)個(gè)看好多了,以后繼續(xù)想更好的辦法,總之我是揪出來(lái)那個(gè)壞人了。。。但是為了尊重人家隱私權(quán),好吧,就這樣吧,我也不能做啥。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/41911.html
摘要:本篇內(nèi)容為網(wǎng)絡(luò)爬蟲初級(jí)操作的簡(jiǎn)單介紹,內(nèi)容主要有以下部分解析網(wǎng)頁(yè)數(shù)據(jù)庫(kù)解析網(wǎng)頁(yè)一般來(lái)說(shuō),解析網(wǎng)頁(yè)有三種方式正則表達(dá)式。關(guān)于,我們最后再來(lái)看一個(gè)實(shí)戰(zhàn)項(xiàng)目爬取北京二手房?jī)r(jià)格。代碼如下第頁(yè)這樣就成功爬取了安居客上前頁(yè)的北京二手房?jī)r(jià)格。 本篇內(nèi)容為 python 網(wǎng)絡(luò)爬蟲初級(jí)操作的簡(jiǎn)單介紹,內(nèi)容主要有以下 2 部分: 解析網(wǎng)頁(yè) 數(shù)據(jù)庫(kù) 解析網(wǎng)頁(yè) 一般來(lái)說(shuō),解析網(wǎng)頁(yè)有三種方式:正則表達(dá)式、...
摘要:本篇內(nèi)容為網(wǎng)絡(luò)爬蟲初級(jí)操作的簡(jiǎn)單介紹,內(nèi)容主要有以下部分解析網(wǎng)頁(yè)數(shù)據(jù)庫(kù)解析網(wǎng)頁(yè)一般來(lái)說(shuō),解析網(wǎng)頁(yè)有三種方式正則表達(dá)式。關(guān)于,我們最后再來(lái)看一個(gè)實(shí)戰(zhàn)項(xiàng)目爬取北京二手房?jī)r(jià)格。代碼如下第頁(yè)這樣就成功爬取了安居客上前頁(yè)的北京二手房?jī)r(jià)格。 本篇內(nèi)容為 python 網(wǎng)絡(luò)爬蟲初級(jí)操作的簡(jiǎn)單介紹,內(nèi)容主要有以下 2 部分: 解析網(wǎng)頁(yè) 數(shù)據(jù)庫(kù) 解析網(wǎng)頁(yè) 一般來(lái)說(shuō),解析網(wǎng)頁(yè)有三種方式:正則表達(dá)式、...
Python裝飾器為什么難理解? 無(wú)論項(xiàng)目中還是面試都離不開(kāi)裝飾器話題,裝飾器的強(qiáng)大在于它能夠在不修改原有業(yè)務(wù)邏輯的情況下對(duì)代碼進(jìn)行擴(kuò)展,權(quán)限校驗(yàn)、用戶認(rèn)證、日志記錄、性能測(cè)試、事務(wù)處理、緩存等都是裝飾器的絕佳應(yīng)用場(chǎng)景,它能夠最大程度地對(duì)代碼進(jìn)行復(fù)用。 但為什么初學(xué)者對(duì)裝飾器的理解如此困難,我認(rèn)為本質(zhì)上是對(duì)Py… Python 實(shí)現(xiàn)車牌定位及分割 作者用 Python 實(shí)現(xiàn)車牌定位及分割的實(shí)踐。 ...
摘要:時(shí)間永遠(yuǎn)都過(guò)得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過(guò)去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
閱讀 2982·2021-11-24 09:39
閱讀 1266·2021-11-02 14:38
閱讀 4313·2021-09-10 11:26
閱讀 2852·2021-08-25 09:40
閱讀 2386·2019-08-30 15:54
閱讀 559·2019-08-30 10:56
閱讀 2864·2019-08-26 12:14
閱讀 3299·2019-08-26 12:13