我想存储来自 https://techcrunch.com/ 的 100 篇文章的 html/pdf,但我必须在网站上“单击加载更多”才能一次显示 20 多篇文章。目前,我的Python代码只能获取前20个,因为其他的都被加载更多按钮“隐藏”了。
我无法使用selenium或任何第三方网络爬虫来模拟用户单击“加载更多”...还有其他方法可以让我获取隐藏的文章吗?
我一直在尝试查看源代码,但我不知道要寻找什么。我想我可能必须使用请求来模拟数据请求?但也不知道该怎么做。
有分页API URL。当您打开 Web 开发人员工具 -> 网络选项卡时,单击“加载更多”按钮时您应该会看到它:
import requests
api_url = "https://techcrunch.com/wp-json/tc/v1/magazine?page={page}&_embed=true&es=true&cachePrevention=0"
for page in range(1, 10): # <--- change the number of pages here
data = requests.get(api_url.format(page=page)).json()
for article in data:
print(article["title"]["rendered"])
打印:
...
Apple releases spatial video recording on iPhone 15 Pro
Sila inks supply deal with Panasonic for its breakthrough battery material
Apple’s new Journal app is now available with the release of iOS 17.2
We should all be paying more attention to the PDD-Alibaba rivalry