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

回到顶部