Python 获取html的所有内容
当我想使用python显示HTML时出现问题,结果如下: 这是网站上的原件,我想用“我的角色”将我的(使用python)显示为原件: 这是源代码:Python 获取html的所有内容,python,html,Python,Html,当我想使用python显示HTML时出现问题,结果如下: 这是网站上的原件,我想用“我的角色”将我的(使用python)显示为原件: 这是源代码: result2 = scraper.get("https://www.dofus-touch.com/en/mmorpg/community/directories/character-pages/2225800401-kaidou",headers=heads) hugo = result2.content baba = Bea
result2 = scraper.get("https://www.dofus-touch.com/en/mmorpg/community/directories/character-pages/2225800401-kaidou",headers=heads)
hugo = result2.content
baba = BeautifulSoup(hugo, "html.parser")
print(baba)
这是因为您已登录到您的帐户,因此可以查看您拥有的字符列表 另一方面,您的scraper没有关于您的帐户的此类信息,因此他被视为来宾用户,没有呈现字符列表 要解决此问题,您需要发送带有正确标题/cookie的请求,以告知服务器是您 这里的简短解决方案是在打开此页面时跟踪网络请求,并将此特定请求复制为curl 现在,为了直观地看到结果,让我们使用postman 首先,我会像您通常使用url那样发出请求 如您所见,我尚未登录,因为我请求的页面没有标题。 现在,让我们再次尝试使用复制的卷曲,方法是选择导入并粘贴卷曲文本 正如你所看到的,我是以newguy5的身份登录的,这是我刚刚创建帐户时使用的用户名,不幸的是,我的帐户中没有任何字符,但我假设你有 现在我们想把它转换成代码,我们可以使用postman提供的自动代码转换,它将生成
import requests
url = "https://www.dofus-touch.com/en/mmorpg/community/directories/character-pages/2225800401-kaidou"
payload = {}
headers = {
'authority': 'www.dofus-touch.com',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.122 Safari/537.36',
'sec-fetch-dest': 'document',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9',
'sec-fetch-site': 'none',
'sec-fetch-mode': 'navigate',
'accept-language': 'en-US,en;q=0.9,ar;q=0.8,pt;q=0.7',
'cookie': 'your_own_cookie_here',
'Cookie': 'your_own_cookie_here'
}
response = requests.request("GET", url, headers=headers, data = payload)
print(response.text.encode('utf8'))
我删除了我的cookies值,但当代码生成时,您的cookies值将在那里
还有更先进的方法,它正在编写一个脚本来自动登录并获取这些cookie,但我不确定您的用例中是否需要这些cookie,这样您就可以从我上面解释的内容开始,然后在运行时进行构建。字符标签可能是由javascript@LinhNguyen解决办法是什么?我不熟悉BeautifulSoup,但你可以使用您的浏览器查看如何在html中抓取javascript生成的内容scraper@LinhNguyen但是“我的角色”是div而不是javascript我刚才看到的是,我所说的由javascript生成的
,一些html内容,比如div,。。。可以通过javascript生成。如果您想检查它是否是由javascript生成的,请在该页面上使用ctrl+s下载html页面,打开下载的html文件,检查该div是否在htmlAlways“My characters”隐藏中。只有当我将cookies从网站复制到标题时,如果您知道如何使用python获取cookies,我认为这是个好主意