Python中使用Selenium进行屏幕抓取:Javascrip构造的链接

2024-04-26 02:30:44 发布

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

我正在使用Selenium和Python构建一个webcrawler,但遇到了一些问题。爬虫程序通过使用

ListlinkerHref = self.browser.find_elements_by_xpath("//*[@href]")

迭代ListlinkerHref。这对于具有href属性的经典链接非常有用。但是,请快速查看主页的源代码www.primitiveworldproductions.com在第110行和第135行之间(大约)显示了一组使用Javascript构建的链接,没有看到href属性。在

我对Javascript几乎一无所知,我查阅了Selenium文档,但我找不到检测这些链接的方法。有没有一种健壮、全面的方法来查找源代码中的所有链接,包括那些由Javascript构建的没有href属性的链接?注意,我的爬虫不能通过点击链接来工作(它只是将它们添加到一个稍后打开的列表中),爬虫需要能够抓取任何站点,而不考虑具体细节。这可能吗?在

编辑:

以下是源代码部分的前几行。在

var n111 = menuMgr.createMenu("ref111");

n111.addItem("126", "Staff Bios", "/staff.aspx", ["systems/nlsmenu/img/submenuovr.gif","systems/nlsmenu/img/submenuovr.gif"], true, null, "ref126");

var n112 = menuMgr.createMenu("ref112");

n112.addItem("146", "Promotional Video", "/PromotionalVideo.aspx", ["systems/nlsmenu/img/submenuovr.gif","systems/nlsmenu/img/submenuovr.gif"], true, null, "ref146");

n112.addItem("120", "Video for Social Media", "/vsm.aspx", ["systems/nlsmenu/img/submenuovr.gif","systems/nlsmenu/img/submenuovr.gif"], true, null, "ref120");

n112.addItem("147", "Live Webcasting and Event Video", "/Webcasting.aspx", ["systems/nlsmenu/img/submenuovr.gif","systems/nlsmenu/img/submenuovr.gif"], true, null, "ref147");

Tags: trueimg属性源代码链接gifnull爬虫
1条回答
网友
1楼 · 发布于 2024-04-26 02:30:44

如果你用鼠标右键点击菜单中的任何项目,然后选择“检查元素”,你会看到用JavaScript生成的HTML代码。你会在primi上看到菜单项tiveworldproductions.com网站没有href属性,并且链接的目标加载到onclick事件上。恐怕没有简单的方法从这个菜单中提取链接。在

相关问题 更多 >