python接口自動化(二十七) requests-html支持JavaScript渲染頁面


前言

requests雖好,但有個遺憾,它無法加載JavaScript,當訪問一個url地址的時候,不能像selenium一樣渲染整個html頁面出來。

requests-html終於可以支持JavaScript了,這就相當於是一個真正意義上的無界面瀏覽器了。

JavaScript支持

當第一次使用render()渲染頁面的時候,會自動下載chromium,但只會下載這一次,后面就不會下載了。

from requests_html import HTMLSession
session=HTMLSession()
r=session.get('https://www.cnblogs.com/canglongdao/')
r.html.render() #首次使用,自動下載chromium

 

render()渲染頁面

到底渲染html頁面是個什么概念呢?可以請求之后對比抓包看下,不使用render()之前,只發一個請求

 

 

使用render()之后,會發很多請求,類似於手工在瀏覽器上輸入url后,瀏覽器渲染整個完整的頁面,這正是我們想要的模擬瀏覽器發請求

 

 

案例

接下來訪問我的博客園地址后,抓取我的個人信息

# coding:utf-8
from requests_html import HTMLSession
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
session=HTMLSession()
r=session.get('https://www.cnblogs.com/canglongdao/',verify=False)

r.html.render() #首次使用,自動下載chromium
rs=r.html.find("#profile_block",first=True)
print(rs.text)

 運行結果


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM