2011-08-19 95 views
2

我正在嘗試編寫一個爬取程序,它將採用特定的搜索條目並保存與結果相關的大量.CSV文件。Python網站爬蟲,使用Scrapy保存文件

我已經有蜘蛛登錄,解析所有我需要的html數據,現在我只剩下要做的就是弄清楚如何保存我需要的文件。

因此搜索將返回鏈接,如本 https://www.thissite.com/data/file_download.jsp?filetype=1&id=22944

,然後在Web瀏覽器會提示您保存相關的.csv文件。我如何寫我的蜘蛛來加載這個頁面並下載文件?或者有什麼方法可以捕捉到信息的靜態鏈接?

+0

看看URL返回的是什麼,它可能是一個重定向。 – tripleee

+0

看起來不是重定向。 – howdoicrawlweb

回答

1

如果您將鏈接抓取到CSV文件,您可以直接使用wget下載它們,也可以登錄到頁面。

你要麼指定--http用戶和--http-passwd文件,或者你使用Cookie如下:

$ wget --cookies=on --keep-session-cookies --save-cookies=cookie.txt --post-data "login=USERNAME&password=PASSWORD" http://first_page 
$ wget --referer=http://first_page --cookies=on --load-cookies=cookie.txt --keep-session-cookies --save-cookies=cookie.txt http://second_page 

它實際上還要考慮你的網站如何處理登錄。還有其他一些方法可以通過wget登錄到一個頁面,我相信你可以通過Google搜索來找到這些頁面。

我建議在一個特殊的Scrapy Pipeline中做所有這些,所以這些都是在Scrapy中完成的,而不是在外部腳本中完成的。

+0

cookie.txt的文件格式是什麼?所以我可以手動添加一個cookie。 – howdoicrawlweb

+0

不能告訴你的頭,但如何嘗試與任何網頁,並看到自己格式? :)它可能與您在Firefox中看到的一樣 – naeg