P 站非會員查看人氣作品
這個項目來源於我的一篇文章 缺手機壁紙?來看看:也來看看 - 知乎專欄 下面的一條評論
其實一開始我是不知道 P 站是什麼 n
某度了一下,原來是日本一個插畫網站,但是這個網站看人氣作品是要會員的。 n
然後我就又有個大膽的想法了,把插圖的的連接和 star 數爬取下來,然後進行排序,這樣就可以看到人氣高的作品了。
第一次爬取網站內容,發現沒有插圖內容,應該是要保持登錄狀態才行。為此我註冊了個賬號,目的是為了獲取 cookies。F12 獲取 cookies n
將 cookies 保存在項目下的 cookies.txt 文件里。在代碼中組裝 cookies 內容 將 cookies 保存在項目下的 cookies.txt 文件里。在代碼中組裝 cookies 內容
def cookies(self):n with open("cookies.txt", r) as f:n _cookies = {}n for row in f.read().split(;):n k, v = row.strip().split(=, 1)n _cookies[k] = vn return _cookiesn
測試一下,爬取 summer 關鍵詞前 500 頁信息。
urls = get_urls("summer", 500)n
效果如下
點擊排第一的連接
誠不欺我,確實高人氣 n不過這個單線程版本(pixiv.py)爬取太多頁的話速度有點慢,所以又寫了個多線程版本的(pixiv_.py),速度蹭蹭就上去了。 n
技術本身是無罪的。 —— 原快播CEO王欣
當然還是希望有能力的同學支持下這個網站,充個會員。但是,我!就!不!
Github地址:chenjiandongx/pixiv
推薦閱讀:
※突破漢字點選驗證碼,實現熊貓TV自動領竹子
※來編寫你的 setup 腳本(一)
※基於Git的文件自動同步的思考和實現
※Python在unpacking上的一個小陷阱