从网站的XHR响应中抓取更新的源代码



网站网址www.example.com/abc在不同的页面上迭代时不会改变。在CHROME浏览器XHR选项卡上使用DEV TOOLS检查后,注意到POST请求被发布到urlwww.example.com/abc-dataurlwww.example.com/abc的响应源代码变化。

然而,90%的数据被返回,并且可以从XHR响应中抓取,但是10%的数据存在于动态源代码中,这些数据根据XHR响应进行更新。

我已经在网上尝试了所有可能的解决方案,但都无法解决这个问题。

Env:Mac OS X VenturaPython 3.7.3

注意:使用BeautifulSoup

短代码段

url1 = www.example.com/abc
url2 = www.example.com/abc-data
with requests.Session() as s:
r = s.get(url1) # Extract token from this URL
# SOME CODE HERE
r = s.post(url2, data=payload) # Use token from above for this URL and session
soup = BeautifulSoup(r.text, 'html.parser')

POST请求后如上所述,HTML源代码更新,我无法使用BeautifulSoup获得。我收到的只是JSON响应。

任何帮助将非常感激!!

据我所知,您正在尝试使用BeautifulSoup获取网页的动态内容。这是不可能的。BeautifulSoup只抓取静态网页内容。

如果你真的想获得动态内容,我推荐使用Selenium。

最新更新