Python抓取脚本,避免错误

时间:2016-05-14 14:57:50

标签: python twitter beautifulsoup urllib2 urllib

我有大型脚本,我在没有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

0 个答案:

没有答案