python - 添加代理后,Scrapy 代码不再有效
问题描述
在为这种类型的专利写了一个刮板并在一个小样本上尝试之后,除了被阻塞之外,一切都很好。因此,我通过 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])
发现:
- 正如我使用 PyCharm 的调试工具观察到的那样,该页面似乎发生了变化。'\n' 字符似乎无处不在,或者它们被移动了。可以看到大小写有区别:没有代理:response capitalized
在这里看到这些:
- 我还观察到字节数有一些差异:使用代理,响应为 41059 字节,不使用代理,响应为 40353 字节
关于如何使刮板在代理给出的响应内容上工作的任何想法?非常感谢。
解决方案
您使用的是哪种网络类型?来自数据中心的 ASN 似乎被阻止了,您是否尝试过使用住宅代理?
在我的测试数据中心是不成功的,而一些住宅是成功的。
推荐阅读
- django - Django 存储和 Boto3 未从 AWS S3 检索媒体
- c++ - 用Eclipse开发的VSCode C++项目构建
- javascript - API 更改后重新渲染 React 组件
- javascript - 画布 toDataURL 返回空/损坏
- bootstrap-4 - Bootstrap 5 flex-grow-0 不能正常工作
- gitlab - 在Gitlab ci yml中转义星号符号
- bash - 如何使用ffmpeg有序地合并目录中的所有视频?
- postgresql - 存储过程从 SQL Server 到 PostgreSQL 的转换
- android - 当输入获得焦点时,键盘在键盘类型之间闪烁
- vba - 如何使用带有 VBA 的 Excel 所在的相同文件路径从 DEP 下载文件?