Python - 请求模块 - HTTP 500错误

时间:2017-01-15 11:33:30

标签: python-3.x http beautifulsoup httprequest

import requests ,bs4

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0'}

#Load mainPage
_requestResult = requests.get("http://www.geometriancona.it/categoria_albo/albo/",headers = headers, timeout = 20)
_requestResult.raise_for_status()
_htmlPage = bs4.BeautifulSoup(_requestResult.text, "lxml")
print(_htmlPage)

#search for stuff in html code

此代码应该下载html页面并将其打印到屏幕,但我得到一个HTTP 500错误异常,我不知道如何管理。 有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用urllib模块下载单个URL,但这只会返回数据。它不会解析HTML并自动下载CSS文件和图像等内容。 如果您想下载“整个”页面,您将需要发送文本来解析HTML并找到您需要下载的其他内容。您可以使用Beautiful Soup之类的东西来解析您检索的HTML。 This question有一些示例代码就是这样做的。

答案 1 :(得分:1)

尝试使用您的匿名浏览器访问:http://www.geometriancona.it/categoria_albo/albo/,它会HTTP 500 Error发送

  

因为你需要登录,不是吗?

也许你应该尝试this sintaxt

r = requests.get('https://api.github.com/user', auth=('user', 'pass'))

您的代码有效,但您必须

print(_htmlPage)

尝试

_requestResult = requests.get("http://www.google.com",headers = headers, timeout = 20)

更新

问题是cookies,在数据包分析后我发现了四个cookie,这样代码对我有用

import requests ,bs4

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.10; rv:39.0) Gecko/20100101 Firefox/39.0'}
jar = requests.cookies.RequestsCookieJar()
jar.set('PHPSESSID', '1bj8opfs9nb41l9dgtdlt5cl63', domain='geometriancona.it')
jar.set('wfvt', '587b6fcd2d87b', domain='geometriancona.it')
jar.set('_iub_cs-7987130', '%7B%22consent%22%3Atrue%2C%22timestamp%22%3A%222017-01-15T12%3A17%3A09.702Z%22%2C%22version%22%3A%220.13.9%22%2C%22id%22%3A7987130%7D', domain='geometriancona.it')
jar.set('wordfence_verifiedHuman', 'e8220859a74b2ee9689aada9fd7349bd', domain='geometriancona.it')
#Load mainPage
_requestResult = requests.get("http://www.geometriancona.it/categoria_albo/albo/",headers = headers,cookies=jar)
_requestResult.raise_for_status()
_htmlPage = bs4.BeautifulSoup(_requestResult.text, "lxml")
print(_htmlPage)

这是我的输出:http://prnt.sc/dvw2ec

相关问题