在Python中获取XHR请求的URL?

2024-09-24 22:20:09 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在做一个网站清理项目,从网站上清理产品。我已经做了几个月这样的项目,取得了相当好的成功,但这个最新的网站给我带来了一些麻烦。这是我正在抓取的网站:https://www.phoenixcontact.com/online/portal/us?1dmy&urile=wcm%3apath%3a/usen/web/home。下面是一个产品页面的示例:https://www.phoenixcontact.com/online/portal/us/?uri=pxc-oc-itemdetail:pid=3248125&library=usen&pcck=P-15-11-08-02-05&tab=1&selectedCategory=ALL。我有一个程序,可以让我导航到每个产品页面,并使用BeautifulSoup提取大部分信息

我遇到问题的地方是试图获取“附件”选项卡下所有产品的产品编号。我试着用Selenium而不是BeautifulSoup来打开页面,并点击附件页面。如果您试图通过单击页码或箭头或更改显示的产品数量来更新页面,则网站将抛出403错误。按钮本身没有实际的链接,href标记=“#”在更新列表后将带您返回到该部分的顶部。我发现,当您单击其中一个页面链接时,XHR请求中的请求URL会将您带到包含产品信息的页面。从那里,我可以对URL的site=和itemsPerPage=部分进行轻微更改,并非常轻松地获取信息

我正在抓取30000个这些产品页面,每个页面对于XHR请求都有不同的请求URL,但是页面URL和请求URL之间没有可识别的关系。关于如何从每个页面获取XHR请求URL有什么想法吗

我对Selenium和Beautiful soup非常流利,但任何其他网络抓取软件包都是不熟悉的,需要做一些额外的解释

编辑:这显示了当我尝试使用Selenium浏览页面时发生的情况。产品列表没有改变,它给出了错误Selenium Error 这显示了我找到的XHR请求。我只需要一个方法来检索该URL,以提供给美丽的汤XHR Request


Tags: 项目httpscomurl产品网站wwwselenium