httplib.BadStatusLine:”
我的问题是以下。我创建了一个spider,想抓取不同的网址。当我独立抓取每个网址时,一切正常。但是,当我尝试同时爬网时,出现以下错误:httplib.BadStatusLine: ''
我已经阅读了一些建议(请参阅上面提到的链接),并且可以打印每个请求的response.status,但是没有打印response.url并引发了错误。(我只打印两个语句以尝试确定错误的来源)。
我希望这很清楚。
我正在使用scrapy and selenium
class PeoplePage(Spider): name = "peopleProfile"
allowed_domains = ["blah.com"]
handle_httpstatus_list = [200, 404]
start_urls = [
"url1",
"url2"
]
def __init__(self):
self.driver = webdriver.Firefox()
def parse(self, response):
print response.status
print '???????????????????????????????????'
if response.status == 200:
self.driver.implicitly_wait(5)
self.driver.get(response.url)
print response.url
print '!!!!!!!!!!!!!!!!!!!!'
# DO STUFF
self.driver.close()
回答:
基于Python Doc,httplib.BadStatusLine
如果服务器响应我们无法理解的HTTP状态代码则引发。你可以尝试传递此异常。如果要调用多个URL,则不应关闭驱动程序。
尝试这个:
def parse(self, response): try:
print response.status
print '???????????????????????????????????'
if response.status == 200:
self.driver.implicitly_wait(5)
self.driver.get(response.url)
print response.url
print '!!!!!!!!!!!!!!!!!!!!'
# DO STUFF
except httplib.BadStatusLine:
pass
以上是 httplib.BadStatusLine:” 的全部内容, 来源链接: utcz.com/qa/431531.html