首页 > 解决方案 > 如何使用新的 Requests-HTML 库查找特定类型的所有元素

问题描述

我想在 HTML 中找到所有特定字段,在 Beautiful soup 中,一切都在使用以下代码:

soup = BeautifulSoup(html_text, 'html.parser')
urls_previous = soup.find_all('h2', {'class': 'b_algo'})

但是如何使用 requests 库进行相同的搜索,或者 requests 只能在 HTML 文档中找到一个元素,我在文档或示例中找不到如何做到这一点?

https://html.python-requests.org/

例子:

<li class="b_algo"><h2><a href="https://de.wikipedia.org/wiki/Vereinigte_Staaten">Vereinigte Staaten – Wikipedia</a></h2><a href="https://de.wikipedia.org/wiki/Vereinigte_Staaten">https://de.wikipedia.org/wiki/Vereinigte_Staaten</a></div><p>U.S., I wanna have THIS text here</p></li>

如何使用请求库找到特定类型的所有元素?

标签: pythonpython-3.xbeautifulsoupscreen-scrapingpython-requests-html

解决方案


带有请求-html

from requests_html import HTML
doc = """<li class="b_algo"><h2><a href="https://de.wikipedia.org/wiki/Vereinigte_Staaten">Vereinigte Staaten – Wikipedia</a></h2><a href="https://de.wikipedia.org/wiki/Vereinigte_Staaten">https://de.wikipedia.org/wiki/Vereinigte_Staaten</a></div><p>U.S., I wanna have THIS text here</p></li>"""
#load html from string
html = HTML(html=doc)
x = html.find('h2')
print(x)

推荐阅读