requests-html基础使用

发布时间 2023-08-01 14:51:34作者: linux星
Requests-HTML是一个基于Python的库,它是在Requests库的基础上构建的,并使用了PyQuery库来实现HTML解析。它提供了一个简单的方法来解析HTML文档并提取信息。
 
以下是使用Requests-HTML的步骤:
 
1. 安装Requests-HTML库:`pip install requests-html`
 
2. 导入RequestsHTML库:`from requests_html import HTMLSession`
 
3. 创建一个HTMLSession对象:`session = HTMLSession()`
 
4. 使用`get()`方法获取HTML文档:
 
```
 
r = session.get('https://www.example.com')
 
html_string = r.html.html
 
```
 
上面的代码将获取https://www.example.com的HTML文档,并将其存储在`html_string`变量中。
 
5. 使用`find()`、`find_all()`方法查找元素:
 
```
 
divs = r.html.find('div')
 
for div in divs:
 
    print(div.text)
 
```
 
上面的代码将打印HTML文档中所有的`<div>`标签的文本内容。
 
`find()`方法只返回第一个匹配的元素,而`find_all()`方法返回所有匹配的元素。
 
6. 使用CSS选择器或XPath表达式:
 
Requests-HTML支持使用CSS选择器或XPath表达式来查找元素,例如:
 
```
 
element = r.html.find('.class-name', first=True)
 
```
 
上面的代码将查找`class`属性为`class-name`的第一个元素。
 
7. 使用`search()`方法查找文本:
 
如果要查找HTML文档中的特定子字符串或正则表达式,可以使用`search()`方法:
 
```
 
if r.html.search('example.com'):
 
    print('Found example.com in the HTML')
 
```
 
上面的代码将查找HTML文档中是否包含`example.com`。
 
8. 执行JavaScript:
 
Requests-HTML还允许执行JavaScript代码并获取执行后的HTML文档。例如:
 
```
 
r = session.get('https://www.example.com')
 
r.html.render()
 
print(r.html.html)
 
```