为了账号安全,请及时绑定邮箱和手机立即绑定

Python 收集链接后面的 URL

Python 收集链接后面的 URL

慕村9548890 2022-10-21 15:43:59
我有几个网站,每个网站都有链接。在这些链接后面,当我将鼠标悬停在链接上时,我可以在状态栏中看到一些 URL。我需要使用 Python 获取这些链接。当我查看页面源代码时,“href”没有显示这些链接,这表明它们是使用 Javascript 显示的。有没有办法可以使用 Python 实际收集这些 URL?谢谢。
查看完整描述

2 回答

?
侃侃尔雅

TA贡献1801条经验 获得超15个赞

使用浏览器的开发人员工具,您可以检查按钮元素并查看它们是否必须onClick执行功能getCompYData。该函数定义为:


function getCompYData(t, a, b) {

  $("#yearlySmbData").empty(), $("#mheader").html(b), $.post("annQtrStmts.php", {

    name: "get_comp_y_data",

    smbCode: t,

    year: a

  }, function(t) {

    obj = JSON.parse(t), $("#yearlySmbData").createTable(obj, {})

  })

}

annQtrStmts.php通过使用name字符串(例如 AABS)和年份(例如 2020)执行 HTTP POST 请求,smbCode您应该能够访问相应的文件。


请记住,这样做可能违反本网站的条款和条件。


编辑:根据更新的问题,您实际上想要查看此功能:


function getCompData() {

  var t = $("#country").val();

  $(".nav-link").removeClass("active"), $("#yearlyData").empty(), $("#annRpt").html("Financial Reports <br><br>" + $("#country option:selected").text() + " ( " + t + " )"), $.post("annQtrStmts.php", {

    name: "get_comp_data",

    smbCode: t

  }, function(t) {

    obj = JSON.parse(t), $("#yearlyData").createTable(obj, {})

  })

}

端点是相同的,但在这种情况下,您传递的是不同的字符串并且没有年份。


查看完整回答
反对 回复 2022-10-21
?
Cats萌萌

TA贡献1805条经验 获得超9个赞

import requests

from bs4 import BeautifulSoup


def getMyUrl(*arg):

#     print(arg)

    for _ in arg:

        if requests.head(_).status_code == 200:

            soup = BeautifulSoup(requests.get(_).text, "html.parser")

            for a_tag in soup.findAll("a"):

                print(a_tag.attrs.get("href"))


#Use this like


if __name__ == "__main__":

    getMyUrl("https://www.google.com", "https://example.com")


查看完整回答
反对 回复 2022-10-21
  • 2 回答
  • 0 关注
  • 99 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信