我已经检查到我试图抓取的网页上的以下元素
<div data-testid="home-description-text-description-text" class="Text__TextBase-sc-1cait9d-0-div Text__TextContainerBase-sc-1cait9d-1 bjqKkI DescriptionTextBody__StyledTextContainer-sc-19zdz5l-1 fObgGE">
"Spectacular views of the Columbia river and Oregon hillsides. Bring your favorite builder. Secluded and very private. Mobile homes okay. Call your favorite Realtor today."我一直无法使用page.select("data-testid")事实上,我试图通过"div“和"data-testid”找到的任何方法都没有成功。我认为通过class_查找也不会成功,因为我相信这个类是由javascript生成的,并且每个页面的值都不同,但我不清楚它是如何工作的。
我的目标是最终得到这样的文本:“哥伦比亚河和俄勒冈州山坡的壮观景色。带上你最喜欢的建筑商。隐蔽和非常私密。移动房屋可以。今天就打电话给你最喜欢的房地产经纪人。”
有没有办法根据"home-description-text-description-text“的期望值进行搜索?
发布于 2021-02-21 08:46:13
也许是这个?
html = '<div data-testid="home-description-text-description-text" class="Text__TextBase-sc-1cait9d-0-div Text__TextContainerBase-sc-1cait9d-1 bjqKkI DescriptionTextBody__StyledTextContainer-sc-19zdz5l-1 fObgGE">'
soup = BeautifulSoup(html, "html.parser")
soup.find_all(attrs={'data-testid': re.compile('home-description-text-description-text')})发布于 2021-02-21 10:45:53
选择器page.select("data-testid")错误,要选择标记属性,需要用方括号page.select("[data-testid]")将它们括起来
https://stackoverflow.com/questions/66297857
复制相似问题