我在网站上进行网页抓取。它只占用页面中的前20个元素。如果我们向下滚动,将加载剩余的元素。如何刮掉这些元素呢?有没有不同的方法呢?
import requests
from bs4 import BeautifulSoup
r=requests.get("https://www.century21.com/real-estate/rock-spring-ga/LCGAROCKSPRING/")
c=r.content
c
soup=BeautifulSoup(c,"html5lib")
soup
all=soup.find_all("div",{"class":"property-card-primary-info"})
len(all)
它只给20个。不是全部。如何刮掉隐藏的元素?
答案 0 :(得分:1)
有两种不同的方法。
第一个: 通过检索站点后面的数据API来使用Web抓取。您需要了解滚动后为网站带来新信息的内容。 要理解这一点,请在网络区域中打开浏览器开发工具(Chrome中的F12)并观察滚动后调用的内容。
第二个: 使用Selenium打开浏览器实例并像普通浏览器一样加载页面,滚动页面并检索信息。
答案 1 :(得分:1)
使用selenium向下滚动然后你可以刮掉内容
QLabel