我有大型脚本,我在没有API的情况下从twitter上抓取推文,因为它受到限制。这个脚本确实可以完成这项工作,但在某些情况下会出现如下错误:
URLError: <urlopen error EOF occurred in violation of protocol (_ssl.c:590)>
或类似的东西:
URLError: <urlopen error [Errno 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond>
当然,我正在使用用户代理
request = urllib2.Request(url, headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36"})
response = urllib2.urlopen(request).read()
因此,网站会认为我正在使用其中一些网络浏览器,该脚本确实有效并且无限滚动,所有内容,但是在一些推文出现这样的错误之后。也许twitter会把我列入黑名单或类似的东西?我改变了我的IP,同样的事情正在发生..或者如果脚本在5个循环之后改变IP,是否可能?
我在我的脚本中使用这些导入:
from bs4 import BeautifulSoup
import json, csv, urllib2, urllib, re