Open weihao20 opened 3 months ago
这应该是被贝壳的反爬虫策略发现了,我观察到浏览器直接访问贝壳官网也报错418,几小时后就又恢复正常了。
建议设置一下休眠时间,将 base_spider.py
中的 RANDOM_DELAY
设置为 True
。
并在 areas_of_district = get_areas(city, district)
前增加 WjpBaseSpider.rand_delay()
。
设置 RANDOM_DELAY
为 True
:
# base_spider.py
RANDOM_DELAY = True
在 areas_of_district = get_areas(city, district)
前增加 WjpBaseSpider.rand_delay()
:
# 示例代码
WjpBaseSpider.rand_delay()
areas_of_district = get_areas(city, district)
通过这些修改,应该可以减少触发贝壳的反爬虫策略的概率。
418的问题我昨天也刚刚遇到,爬取的是上海的。之前从未出现过该问题。
这应该是被贝壳的反爬虫策略发现了,我观察到浏览器直接访问贝壳官网也报错418,几小时后就又恢复正常了。
建议设置一下休眠时间,将
base_spider.py
中的RANDOM_DELAY
设置为True
。并在
areas_of_district = get_areas(city, district)
前增加WjpBaseSpider.rand_delay()
。修改建议
- 设置
RANDOM_DELAY
为True
:# base_spider.py RANDOM_DELAY = True
- 在
areas_of_district = get_areas(city, district)
前增加WjpBaseSpider.rand_delay()
:# 示例代码 WjpBaseSpider.rand_delay() areas_of_district = get_areas(city, district)
通过这些修改,应该可以减少触发贝壳的反爬虫策略的概率。
设置睡眠时间,有时候还会报错418。
我使用的clash代理工具,在配置文件的rules
后面加上了DOMAIN-SUFFIX,ke.com,🔰国外流量
,示例如下。
# 规则
rules:
- DOMAIN-SUFFIX,ke.com,🔰国外流量
不同代理工具的配置文件可能略有不同,仅供参考。
418的问题我昨天也刚刚遇到,爬取的是上海的。之前从未出现过该问题。
这应该是被贝壳的反爬虫策略发现了,我观察到浏览器直接访问贝壳官网也报错418,几小时后就又恢复正常了。 我建议可以设置一下休眠时间,将
base_spider.py
中的RANDOM_DELAY
设置为True
。 并可以在areas_of_district = get_areas(city, district)
前增加WjpBaseSpider.rand_delay()
。修改建议
- 设置
RANDOM_DELAY
为True
:# base_spider.py RANDOM_DELAY = True
- 在
areas_of_district = get_areas(city, district)
前增加WjpBaseSpider.rand_delay()
:# 示例代码 WjpBaseSpider.rand_delay() areas_of_district = get_areas(city, district)
通过这些修改,应该可以减少触发贝壳的反爬虫策略的概率。
设置睡眠时间,有时候还会报错418。
在睡眠的基础上,我又尝试了使用代理,解决了418问题。
我使用的clash代理工具,在配置文件的
rules
后面加上了DOMAIN-SUFFIX,ke.com,🔰国外流量
,示例如下。# 规则 rules: - DOMAIN-SUFFIX,ke.com,🔰国外流量
不同代理工具的配置文件可能略有不同,仅供参考。
我怀疑账号的cookie可能也有影响,可以使用多个账号的cookie随机爬取
错误信息为:
我观察到requests.get返回418,问题在爬取两三次后出现