Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Python在链接后面收集URL_Javascript_Html_Python 3.x - Fatal编程技术网

Javascript Python在链接后面收集URL

Javascript Python在链接后面收集URL,javascript,html,python-3.x,Javascript,Html,Python 3.x,我有几个网站,每个网站都有链接。在这些链接后面,当我将鼠标悬停在链接上方时,可以在状态栏中看到URL。我需要使用Python获取这些链接。当我查看页面源代码时,“href”没有显示这些链接,这表明它们是使用Javascript显示的 有没有一种方法可以使用Python收集这些URL?谢谢。使用浏览器的开发工具,您可以检查按钮元素,并查看它们是否绑定到onClick execute函数getCompYData。此功能定义为: function getCompYData(t, a, b) { $

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


有没有一种方法可以使用Python收集这些URL?谢谢。

使用浏览器的开发工具,您可以检查按钮元素,并查看它们是否绑定到onClick execute函数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, {})
  })
}
通过使用名称字符串、smbCode(如AABS)和year(如2020)对annQtrStmts.php执行HTTP POST请求,您应该能够访问相应的文件

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

编辑:根据更新的问题,您实际上希望查看此函数:

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, {})
  })
}

端点是相同的,但在本例中,您传递的是不同的字符串,没有年份。

您可以提供一个URL,让我们可以看到实际的行为吗?当然-这里是:您必须从左侧的下拉列表中选择某个公司,然后才能看到“报告”列下的链接。理想情况下,我想下载所有公司的财务报告。所以,请务必让我知道是否有一种方法可以一次性为所有公司做到这一点。谢谢。嗨,阿桑,你觉得我的回答有用吗?你需要更多的帮助吗?是的,你的回答确实需要。它帮助我取得了进步。虽然我提出了另一个问题来实际完成任务。在这里:
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")