【发布时间】:2020-05-12 05:00:25
【问题描述】:
我正在从事一个网络抓取项目,并希望从戴尔的网站获取产品列表。我找到了这个链接 (https://www.dell.com/support/home/us/en/04/products/),它打开了一个带有产品类别列表的框(实际上只是重定向 url。如果它没有出现,请单击“浏览所有产品”按钮)。我尝试使用 Python 请求来获取页面并将文本保存到文件中以进行解析,但响应不包含任何类别/重定向 url。我的代码是最基本的:
import requests
url = "https://www.dell.com/support/home/us/en/04/products/"
page = requests.get(url)
with open("laptops.txt", "w", encoding="utf-8") as outf:
outf.write(page.text)
outf.close()
有没有办法获得这些重定向网址?我基本上是在尝试为他们的产品制作自己的站点地图,以便我可以抓取每个产品的详细信息。谢谢
【问题讨论】:
-
如果页面使用 JavaScript 添加元素,那么您无法使用
requests和BeautifulSoup获取它,因为它们无法运行 JavaScript。您可能必须使用Selenium来控制可以运行 JavaScript 的真实网络浏览器。或者,如果 javascript 从其他 URL 读取数据,您可以在 Firefox/Chrome(选项卡:网络)中检查 DevTools,然后您可以将此 URL 用于请求。
标签: python web-scraping get python-requests