Python 收集链接后面的 URL

我有几个网站,每个网站都有链接。在这些链接后面,当我将鼠标悬停在链接上时,我可以在状态栏中看到一些 URL。我需要使用 Python 获取这些链接。当我查看页面源代码时,“href”没有显示这些链接,这表明它们是使用 Javascript 显示的。

有没有办法可以使用 Python 实际收集这些 URL?谢谢。


慕村9548890
浏览 136回答 2
2回答

侃侃尔雅

使用浏览器的开发人员工具,您可以检查按钮元素并查看它们是否必须onClick执行功能getCompYData。该函数定义为:function getCompYData(t, a, b) {&nbsp; $("#yearlySmbData").empty(), $("#mheader").html(b), $.post("annQtrStmts.php", {&nbsp; &nbsp; name: "get_comp_y_data",&nbsp; &nbsp; smbCode: t,&nbsp; &nbsp; year: a&nbsp; }, function(t) {&nbsp; &nbsp; obj = JSON.parse(t), $("#yearlySmbData").createTable(obj, {})&nbsp; })}annQtrStmts.php通过使用name字符串(例如 AABS)和年份(例如 2020)执行 HTTP POST 请求,smbCode您应该能够访问相应的文件。请记住,这样做可能违反本网站的条款和条件。编辑:根据更新的问题,您实际上想要查看此功能:function getCompData() {&nbsp; var t = $("#country").val();&nbsp; $(".nav-link").removeClass("active"), $("#yearlyData").empty(), $("#annRpt").html("Financial Reports <br><br>" + $("#country option:selected").text() + " ( " + t + " )"), $.post("annQtrStmts.php", {&nbsp; &nbsp; name: "get_comp_data",&nbsp; &nbsp; smbCode: t&nbsp; }, function(t) {&nbsp; &nbsp; obj = JSON.parse(t), $("#yearlyData").createTable(obj, {})&nbsp; })}端点是相同的,但在这种情况下,您传递的是不同的字符串并且没有年份。

Cats萌萌

import requestsfrom bs4 import BeautifulSoupdef getMyUrl(*arg):#&nbsp; &nbsp; &nbsp;print(arg)&nbsp; &nbsp; for _ in arg:&nbsp; &nbsp; &nbsp; &nbsp; if requests.head(_).status_code == 200:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; soup = BeautifulSoup(requests.get(_).text, "html.parser")&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; for a_tag in soup.findAll("a"):&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; print(a_tag.attrs.get("href"))#Use this likeif __name__ == "__main__":&nbsp; &nbsp; getMyUrl("https://www.google.com", "https://example.com")
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript