恢復內容開始 只有MD5的超鏈接可以點,點進去看看, 我寫這個的爬蟲的目的是下載樣本,只關心樣本的下載地址,並不關心其他的信息。 現在我們可以理清下思路: 提取規則 先從第一頁開始爬起 scrapy支持xss選擇器和css選擇器,一般是用哪個比較方便就用哪個。 對應鏈接的xpath選擇器為 //td ...
---恢復內容開始---
只有MD5的超鏈接可以點,點進去看看,
我寫這個的爬蟲的目的是下載樣本,只關心樣本的下載地址,並不關心其他的信息。
現在我們可以理清下思路:
獲取每一頁的網頁源碼
解析當前頁的每一個md5對應的詳細信息鏈接
在詳細信息頁面解析下載地址。
提取規則
先從第一頁開始爬起
scrapy支持xss選擇器和css選擇器,一般是用哪個比較方便就用哪個。
對應鏈接的xpath選擇器為 //td/a/@href
,
下一頁的鏈接的xpath選擇器為 //a[contains(text(),'Next')]/@href
登陸
之前寫爬蟲的時候,是可以直接通過post登陸的,而我開始寫這篇文章的時候開始加上了google的ReCaptcha驗證碼。
只能換種方式使用selenium來登陸Malwr.得到登陸後的cookie後,我們就可以用這個cookie開始下載樣本了。
FilesPipeline是從file_urls中拿到下載地址然後開始下載文件,因此我們還需要Item.py定義一個file_urls.
解析下載地址,將解析到的下載鏈接列表放入item的file_urls,返回item。pipeline會file_urls拿到鏈接開始調用get_media_requests下載文件
---恢復內容結束---