gpt4 book ai didi

Python 无法获取 html 标签之间的文本

转载 作者:太空宇宙 更新时间:2023-11-03 16:58:44 24 4
gpt4 key购买 nike

当 python 标记为 display=none 时,它​​似乎无法找到文本,我应该如何解决这个问题?

这是我的代码

import requests
from bs4 import BeautifulSoup

r = requests.get('https://www.domcop.com/domains/great-expired-domains/')
soup = BeautifulSoup(r.text, 'html.parser')
data = soup.find('div', {'id':'all-domains'})
data.text

代码返回[]

我也尝试过使用 xpath:

from lxml import etree

data = etree.HTML(r.text)
anchor = data.xpath('//div[@id="all-domains"]/text()')

它返回相同的东西...

最佳答案

是的,带有 id="all-domains" 的元素是空的,因为它是由浏览器中执行的 JavaScript 动态设置的。可以这么说,使用 requests 您只能获得初始 HTML 页面,而没有“动态”部分。要获取所有域,我只需迭代表行并提取域链接文本。工作示例:

import requests
from bs4 import BeautifulSoup

r = requests.get('https://www.domcop.com/domains/great-expired-domains/',
headers={"User-Agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.97 Safari/537.36"})

soup = BeautifulSoup(r.text, 'html.parser')
for domain in soup.select("tbody#domcop-table-body tr td a.domain-link"):
print(domain.get_text())

打印:

u2tourfans.com
tvadsview.com
gfanatic.com
blucigs.com
...
twply.com
sweethomeparis.com
vvchart.com

关于Python 无法获取 html 标签之间的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35191783/

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