Scrapy正在重定向直接链接

2024-05-16 00:18:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用爬行蜘蛛从网页抓取和提取数据。在

起始url只有一个链接(这是一个直接链接),并且必须从该链接中获取数据(如果我使用BaseSpider并给出直接链接,则数据将被成功地刮取)。但是,当我运行crawspider时,它收到了一些异常的301请求,而控件并没有来解析执行抓取的parse_item()。在

我有一个名为main的本地主机页面_页面.html它有一个指向http://www.flipkart.com/office-supplies/pen/faber-castell/itmd4fpkgkd7e3fj?pid=pend4fpkyk2w9fd4&_l=U0SclLhlhi7jGPVIA8xWyA--&_r=tcVDd6I7AkBG9cR2hX21MA--&ref=5b471a78-5264-4e09-ba61-03f8965e10d0的链接,我认为它是一个直接链接。在运行爬行蜘蛛时,我在scrapy看到以下输出-

2011-12-05 15:54:34+0530 [flipkart_spider] DEBUG: Crawled (200) http://localhost/main_page.html> (referer: None)
2011-12-05 15:54:35+0530 [flipkart_spider] DEBUG: Redirecting (301) to http://www.flipkart.com/office-supplies/pen/faber-castell/itmd4fpkgkd7e3fj?pid=pend4fpkyk2w9fd4&_l=U0SclLhlhi7jGPVIA8xWyA--&_r=tcVDd6I7AkBG9cR2hX21MA--&ref=5b471a78-5264-4e09-ba61-03f8965e10d0> from http://www.flipkart.com/office-supplies/pen/faber-castell/itmd4fpkgkd7e3fj?_l=U0SclLhlhi7jGPVIA8xWyA--&_r=tcVDd6I7AkBG9cR2hX21MA--&pid=pend4fpkyk2w9fd4&ref=5b471a78-5264-4e09-ba61-03f8965e10d0>

我在parse_item()中有一个未调用的print语句。这里怎么了?在


Tags: comhttp链接wwwpidofficepenflipkart
1条回答
网友
1楼 · 发布于 2024-05-16 00:18:32

我认为您应该删除url中?之后的所有内容,这样它就会变成:http://www.flipkart.com/office-supplies/pen/faber-castell/itmd4fpkgkd7e3fj

更新:

在大多数情况下,查询字符串中的属性只用于不影响内容的内容,例如:您从哪个页面来到这里,哪个菜单项是活动的,会话id。如果您将url从浏览器复制到爬虫程序,则url中的某些参数可能与您的用户代理有关,并在使用不同代理打开同一url时产生不可预知的结果。在

如果您知道哪些参数可以安全地从url中删除,那么您也可以从大量重复的页面中保存自己。通常,您可以从不同的类别访问相同的项目,但每次项目的url都会有所不同,因为参数ref=告诉了您从哪个页面来的信息。在

相关问题 更多 >