Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/76.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
汤不';不要下载HTML Python中的所有内容_Python_Html_Beautifulsoup - Fatal编程技术网

汤不';不要下载HTML Python中的所有内容

汤不';不要下载HTML Python中的所有内容,python,html,beautifulsoup,Python,Html,Beautifulsoup,我正在使用BeautifulSoup(bs4)从SSRN纸质URL中提取数据,以下是供参考的URL。我想要的数据在页面右侧的PlumX metrics小部件上。如果你把鼠标悬停在它上面,看看“引文:95”,我想摘录95。这在HTML中显示为: `<li class="plx-citation"> <span class="ppp-label">Citation Indexes: </span> <span class="ppp

我正在使用BeautifulSoup(bs4)从SSRN纸质URL中提取数据,以下是供参考的URL。我想要的数据在页面右侧的PlumX metrics小部件上。如果你把鼠标悬停在它上面,看看“引文:95”,我想摘录95。这在HTML中显示为:

`<li class="plx-citation">
       <span class="ppp-label">Citation Indexes: </span>
       <span class="ppp-count">95</span>
</li>`
输出为
[]

3) 我打印出了整个soup和lxml,plumX数据就消失了(这些HTML分支不在那里,事实上引文也没有任何HTML)


它位于主页面中(如果您在浏览器中使用inspect元素将其签出,但从未在代码中签出)。我甚至尝试使用不同的解析器,比如
html5lib
,但它并没有解决我的问题。有人能告诉我怎么办吗

实际上是无法提取所需值的主要原因,因为
小部件
是通过
JavaScript
加载的,后者从
API
获取数据

import requests
import json


params = {
    'type': 'ssrn_id',
    'id': '962461',
    'site': 'ssrn',
    'href': 'https://plu.mx/ssrn/a/?ssrn_id=962461',
    'ref': '',
    'pageToken': 'f0399e1a-c031-0c64-6619-423f-7ebf45fa0416',
    'isElsWidget': 'false'
}


def main(url):
    r = requests.get(url, params=params).json()
    print(r['statistics']['Citations'][0]['count'])
    # print(json.dumps(r, indent=4)) for nice view :)


main("https://api.plu.mx/widget/other/artifact")
输出:

95

您对实时检索此信息有何建议。我试图通过大量的论文来实现这一点,以便获得
id
href
,但我不确定pageToken@Afr0这将为您解释如何获取
XHR
请求。您好,我已通读了它,如果我理解正确,我可以使用
requests\u html
库来完成它?我不想使用selenium,因为它会破坏我的计算时间(大约10万篇论文)。我也不知道你是怎么从网站上得到的。我点击了
Inspect Element>Network>XHR
,没有看到pageToken@Afr0如果您能够找到
XHR
请求。因此,您必须按下
参数
,因此在这种情况下,您甚至不需要使用
请求\u html
@Afr0。我仅限于为当前问题提供答案。因为这将违反社区规则,该规则将针对特定问题限制您的问题。因此,您根本不需要使用
pageToken
参数。因为它是一个自动动态生成的令牌,由
Java
函数用于您的问题不感兴趣的其他事情。
95