Python 获取html的所有内容

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

当我想使用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 = 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,我认为这是个好主意