【问题标题】:Scrapy code no longer works after adding a proxy添加代理后,Scrapy 代码不再有效
【发布时间】:2021-11-12 15:01:29
【问题描述】:

我正在尝试像这样获取专利: https://patft.uspto.gov/netacgi/nph-Parser?Sect1=PTO2&Sect2=HITOFF&u=%2Fnetahtml%2FPTO%2Fsearch-adv.htm&r=1&f=G&l=50&d=PTXT&p=1&S1=7844625.PN.&OS=pn/7844625&RS=PN/7844625

在为这类专利写了一个刮板并在一个小样本上尝试之后,除了被阻止之外,一切都很好。因此,我通过 Bright Data 添加了一个代理,并尝试再次运行它,但我的选择器不再起作用。我在添加代理之前工作的代码出现错误,例如这个:

    patent['number'] = response.xpath('//html/body/table[2]/tr/td[2]/b//text()').getall()[0].replace(',', '')
    patent['date'] = cleaned(response.xpath('//html/body/table[2]/tr/td[2]/b//text()').getall()[1])

调查结果:

  1. 页面似乎发生了变化,正如我使用 PyCharm 的调试工具观察到的那样。 '\n' 字符似乎无处不在,或者它们被移动了。您可以看到大小写有所不同: 没有代理:响应大写

在此处查看这些:

top: with proxy; bottom: without proxy

  1. 我还观察到字节数存在一些差异: 使用代理,响应为 41059 字节 没有代理,响应为 40353 字节

关于如何使刮板在代理给出的响应内容上工作的任何想法?非常感谢。

【问题讨论】:

    标签: python web-scraping proxy scrapy response


    【解决方案1】:

    您使用的是哪种网络类型?来自数据中心的 ASN 似乎被阻止了,您是否尝试过使用住宅代理?

    在我的测试数据中心不成功,而一些住宅是成功的。

    【讨论】:

    • 非常感谢您的回答!它奏效了,但现在的问题是,这对于我需要的东西来说太慢了。我在尝试住宅之前使用的是 webunlocker
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多