Python - 请求模块 - 检索网页时出现 HTTP 500 错误



这段代码应该下载html页面并将其打印到屏幕上,但是我得到了HTTP 500错误异常,我不知道如何管理。

有什么想法吗?

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

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

尝试访问:http://www.geometriancona.it/categoria_albo/albo/使用匿名浏览器,它会给出HTTP 500错误

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

也许你应该试试这个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)

更新

问题是cookie,

经过数据包分析,我找到了四个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

最新更新