使用requests-html 遇见的问题
1、解决无头浏览器问题(可能有反爬,所以需要使用模拟浏览器)
修改requests_html源码,如图所示,添加红框里的代码
示例爬虫代码:
from requests_html import HTMLSession
session = HTMLSession()
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.132 Safari/537.36"
}
response = self.session.get(url, timeout=90, headers=headers)
response.encoding = requests.utils.get_encodings_from_content(response.text)[0] if requests.utils.get_encodings_from_content(response.text) else response.apparent_encoding # 自动识别浏览器端的编码response.html.render() # 调用render 方法,此方法有许多的参数,此处就不一一举例了,有兴趣的可以自己去学习了解下
html = filter_tags(response.text) # 此处我写了一个filter_tags函数对内容进行了一些过滤,具体可根据个人需求进行编写