2012-12-12 135 views
0

我想刮此页面scrapy不同斗志旺盛响应:比浏览器响应

http://www.barnesandnoble.com/s?dref=4815&sort=SA&startat=7391 

和响应,我得到的是比我在浏览器中看到的不同。浏览器响应有正确的页面,而scrapy的响应是:

http://www.barnesandnoble.com/s?dref=4815&sort=SA&startat=1 

page。我尝试过使用urllib2,但仍然有同样的问题。任何帮助深表感谢。

+0

你的意思是,当你通过scrapy请求该页面时,它会重定向你? – warvariuc

+0

是的,它重定向我。 –

+0

它可能是该网站默认使用javascript.Scrapy doesnt。您应该使用中间件或下载处理程序。 – jdcaballerov

回答

2

我真的不明白的问题,但通常是一个浏览器和scrapy不同的响应由一个这些原因包括:

  • 服务器分析您User-Agent头,并返回一个特制页面移动客户或机器人;
  • 服务器分析cookie,并且在看起来像您第一次访问时做了一些特殊的事情;
  • 你试图通过scrapy使POST请求喜欢的浏览器,但你忘了某种形式的领域,或者把错误的价值观

没有通用的方法来确定什么是错的,因为它取决于你不知道的服务器逻辑。如果你幸运的话,你会分析和解决所有提到的问题,并使其工作。

+0

感谢您的回答。我正在发出get请求,并且已将User-Agent中的废料设置为浏览器Mozilla/5.0。但是,当我通过浏览器访问该页面时,我得到一个引用链接“http://www.barnesandnoble.com/s?dref=4815&sort=SA&startat=7391”,与scrapy相似,引用链接是一个空字符串“”。我正在尝试设置scrapy的推荐人,但那还没有奏效。 –

+0

尝试使用wireshark查看Firefox和scrapy发送的内容并分析差异。 – warvariuc