我曾尝试使用BeautifulSoup从CarGurus检索Mercedes-C-class的数据,如:
url1 = https://www.cargurus.com/Cars/inventorylisting/viewDetailsFilterViewInventoryListing.action?
&showNegotiable=true&sourceContext=carGurusHomePageModel
&entitySelectingHelper.selectedEntity2=c21239
&entitySelectingHelper.selectedEntity=c6079
url2 = https://www.cargurus.com/Cars/inventorylisting/viewDetailsFilterViewInventoryListing.action?
&showNegotiable=true&sourceContext=carGurusHomePageModel
&entitySelectingHelper.selectedEntity2=c21239
&entitySelectingHelper.selectedEntity=c6079#listing=260322671_isFeatured
response1 = requests.get(url1)
response2 = requests.get(url2)
注:url2是页面url1上显示的第一项的链接
(后缀为#listing=260322671_isFeatured
),有很多细节我想略过
但是response1.content
和response2.content
最终得到了完全相同的内容。
我尝试过不同的页面和不同的车型,当我使用bs4时,所有的结果都是一样的
顺便说一句,我正在使用MacBook,我在某个地方读过关于在MacOS上使用WebDriver的文章,比如
driver = webdriver.Safari()
driver.get(URL)
只有这样,我才能访问特定的项目页面,但会话将被锁定,这意味着我不能使用循环一次又一次地访问多个页面。。。所以我回到了bs4,知道吗
数据通过Ajax/Json动态加载。但是检查页面在何处建立连接,我们可以使用
requests
模拟它们:印刷品:
相关问题 更多 >
编程相关推荐