• 我们在哪一颗星上见过 ,以至如此相互思念 ;我们在哪一颗星上相互思念过,以至如此相互深爱
  • 我们在哪一颗星上分别 ,以至如此相互辉映 ;我们在哪一颗星上入睡 ,以至如此唤醒黎明
  • 认识世界 克服困难 洞悉所有 贴近生活 寻找珍爱 感受彼此

python模块:requests-html

python知识点 云涯 4年前 (2020-12-29) 1691次浏览

使用

维持会话:

session = HTMLSession()
# 如果是网络文件此时即可直接请求
# session.get(“https://www.baidu.com”)

# 如果是本地文件,需要以下代码# 挂载文件
session.mount(‘file://’, FileAdapter())
# Windows系统路径目录分隔符为反斜杠,但get需要正斜杠所以先进行一下替换
pwd = os.getcwd().replace(“\\”,”/”)
file_url = f’file:///{pwd}/ASN/index.html#%s’%(publickeyinfo_json)

# 测试发现使用相对路径读不到文件,需要使用绝对路径
r = session.get(file_url)#session对象能够帮我们跨请求保持某些参数
r.html.render()  #进行js渲染

html = r.html#返回网页的迭代器
html_string = r.html.html#返回网页的内容

#返回的是所有标签外的内容,格式为str
html_hex_text = r.html.find(“.hex”,first=True).text#注意:first=True的意思是获取第一个元素,如果不加上就是获取所有的符合的元素

#返回的是所有标签外的内容,格式为list
hex_list = html_hex_text.split()

错误集锦

1. centos8 使用 html.render时出现缺少 libXss.so.1

centos /root/.local/share/pyppeteer/local-chromium/588429/chrome-linux/chrome: error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file

解决方法:

$ repoquery --nvr --whatprovides libXss.so.1
libXScrnSaver-1.2.2-6.1.el7
$ yum install libXScrnSaver

故障排除参考链接:

https://github.com/puppeteer/puppeteer/blob/main/docs/troubleshooting.md

 

2. 不是在主进程中需使用异步

 


云涯历险记 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:python模块:requests-html
喜欢 (0)