我的脚本被阻止抓取该网站(http:403),但我的浏览器却未被抓取

时间:2019-04-01 08:45:53

标签: python-3.x web-scraping scrapy

当他们用403阻止我时,我正在爬网。我仍然可以从任何浏览器访问该网站,但是我的Scrapy脚本无法爬网。

我使用5个代理从家里爬网,每个代理都有10个IP被随机选择。我大约有40个user_agents是随机选择的(请参见下面的代码)。在每个请求上都会选择一组新的代理和user_agent。每个产量要求约为1MB。当收集到大约100个请求时,脚本(使用Github的S3pipelines)将一个程序包发送到我在AWS上的S3。我的下载延迟为10,在Scrapy项目的设置中激活了自动油门。所有与网站robots.txt请求保持一致的请求-延迟10进行爬网。

我阅读了Scrapy,Python和其他一些人的说明手册,但找不到任何方法来使自己在爬网中变得更加“人性化”。

我的设置(摘录):

BOT_NAME = 'acCrawler10'

SPIDER_MODULES = ['acCrawler10.spiders']
NEWSPIDER_MODULE = 'acCrawler10.spiders'
s3 = boto3.client('s3', aws_access_key_id='AWS_ACCESS_KEY_ID',
                  aws_secret_access_key='AWS_SECRET_ACCESS_KEY')
USER_AGENT = get_random_agent()
# Obey robots.txt rules
ROBOTSTXT_OBEY = True
CONCURRENT_REQUESTS = 32
DOWNLOAD_DELAY = 10
PROXYMESH_TIMEOUT = 60
# CONCURRENT_REQUESTS_PER_DOMAIN = 16
CONCURRENT_REQUESTS_PER_IP = 16
# Disable cookies (enabled by default)
# COOKIES_ENABLED = False
AUTOTHROTTLE_ENABLED = True
AUTOTHROTTLE_START_DELAY = 5
AUTOTHROTTLE_MAX_DELAY = 60
AUTOTHROTTLE_TARGET_CONCURRENCY = 4.0
AUTOTHROTTLE_DEBUG = False

0 个答案:

没有答案