gpt4 book ai didi

python - httplib.BadStatusLine : ''

转载 作者:太空狗 更新时间:2023-10-29 16:55:01 44 4
gpt4 key购买 nike

一如既往,我经常遇到问题,我已经彻底搜索了当前问题的答案,但发现自己一头雾水。以下是我搜索过的一些地方:- How to fix httplib.BadStatusLine exception?- Python httplib2 Handling Exceptions- python http status code

我的问题如下。我创建了一个蜘蛛,想抓取不同的 url。当我独立抓取每个网址时,一切正常。但是,当我尝试抓取两者时,出现以下错误:httplib.BadStatusLine: ''

我遵循了我阅读的一些建议(参见上面提到的链接)并且可以打印每个请求的 response.status 工作,但是 response.url 不打印并且抛出错误。 (我只打印这两个语句来尝试识别错误的来源)。

我希望这是清楚的。

我正在使用 scrapy 和 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

关于python - httplib.BadStatusLine : '' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27619258/

44 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com