2011-08-19 102 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