如何在“点击展开”链接后面隐藏的网址上检索文本?

时间:2019-05-30 20:30:04

标签: python-3.x urllib

我正在尝试制作一个Python脚本,该脚本将以html格式为我检索PhysRevPER文章,以便我可以将它们放在Kindle上并从我的办公桌(和互联网连接)上阅读。但是,尽管可以通过访问网站查看文章的全文,但必须单击多个“单击以展开”(或简称为“ +”)“链接”才能看到全部内容。这些“链接”没有指向新的URL,因此我假设它们正在控制某种脚本,该脚本确定文章每一部分的可见性。有什么方法可以指示urllib发送适当的脚本指令,这些指令将导致“链接”展开并在所有内容展开后下载页面?当我只是尝试检索页面时,我没有任何隐藏的文本。

这里是最近文章的链接: https://journals.aps.org/prper/abstract/10.1103/PhysRevPhysEducRes.15.010134

我的存根脚本(将上例中的DOI信息10.1103 / PhysRevPhysEducRes.15.010134作为第一个参数,并选择将输出文件的名称作为第二个):

#! /usr/bin/env python3

import urllib.request
import sys
import io.open

print('retreive url and convert to text')
url = "https://journals.aps.org/prper/abstract/" + sys.argv[1]    
codec = "utf_8"
data = urllib.request.urlopen(url)
doc = data.read().decode(codec)

if len(sys.argv) == 3:
    filename = sys.argv[2]
else
    filename = "default.html"

a = io.open(filename, mode='wt', encoding='utf-8')
for i in range(len(information)):
    information[i] = '%s\n' % information[i]
a.writelines(information)
a.close()

0 个答案:

没有答案