web-scraping - scrapy-如何停止重定向(302)

标签 web-scraping web-crawler scrapy

我正在尝试使用 Scrapy 抓取网址。但它会将我重定向到不存在的页面。

Redirecting (302) to <GET http://www.shop.inonit.in/mobile/Products/Inonit-Home-Decor--Knick-Knacks-Cushions/Shor-Sharaba/Andaz-Apna-Apna-Cushion-Cover/1275197> from <GET http://www.shop.inonit.in/Products/Inonit-Home-Decor--Knick-Knacks-Cushions/Shor-Sharaba/Andaz-Apna-Apna-Cushion-Cover/pid-1275197.aspx>

问题是http://www.shop.inonit.in/Products/Inonit-Home-Decor--Knick-Knacks-Cushions/Shor-Sharaba/Andaz-Apna-Apna-Cushion-Cover/pid-1275197.aspx存在,但 http://www.shop.inonit.in/mobile/Products/Inonit-Home-Decor--Knick-Knacks-Cushions/Shor-Sharaba/Andaz-Apna-Apna-Cushion-Cover/1275197没有,所以爬虫找不到这个。我也爬过许多其他网站,但在其他任何地方都没有这个问题。有什么办法可以阻止这种重定向?

任何帮助将非常感激。谢谢。

更新:这是我的蜘蛛类
class Inon_Spider(BaseSpider):
name = 'Inon'
allowed_domains = ['www.shop.inonit.in']

start_urls = ['http://www.shop.inonit.in/Products/Inonit-Gadget-Accessories-Mobile-Covers/-The-Red-Tag/Samsung-Note-2-Dead-Mau/pid-2656465.aspx']

def parse(self, response):

    item = DealspiderItem()
    hxs = HtmlXPathSelector(response)

    title = hxs.select('//div[@class="aboutproduct"]/div[@class="container9"]/div[@class="ctl_aboutbrand"]/h1/text()').extract()
    price = hxs.select('//span[@id="ctl00_ContentPlaceHolder1_Price_ctl00_spnWebPrice"]/span[@class="offer"]/span[@id="ctl00_ContentPlaceHolder1_Price_ctl00_lblOfferPrice"]/text()').extract()
    prc = price[0].replace("Rs.  ","")
    description = []

    item['price'] = prc
    item['title'] = title
    item['description'] = description
    item['url'] = response.url

    return item

最佳答案

是的,您可以简单地通过添加元值来做到这一点

meta={'dont_redirect': True}
您也可以停止重定向特定的响应代码,如
meta={'dont_redirect': True,"handle_httpstatus_list": [302]}
它将停止仅重定向 302 响应代码。您可以添加任意数量的 http 状态代码以避免重定向它们。
例子
yield Request('some url',
    meta = {
        'dont_redirect': True,
        'handle_httpstatus_list': [302]
    },
    callback= self.some_call_back)

关于web-scraping - scrapy-如何停止重定向(302),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15476587/

相关文章:

python - Scrapy,从第二组链接中抓取页面

xpath - 导入IO-使用XPath显示 "more"内容

python - 匹配表中的行

MacOSX : no module named twisted. internet 和 gcc 4.0 下的 Python Scrapy

css - Scrapy 找不到表格 css

python - Twitter:如何提取包含符号 (!,%,$) 的推文?

javascript - 在网页上的cmd行中显示数据

python - 使用Python从网页中Span类的样式中提取所有颜色

web-crawler - 查找一个国家的 "all"域

algorithm - 我的网页排名总和收敛于 0.9