我正在使用requests
中的python
库并试图搜索一个包含大量.pdf格式的公共报告和文档的网站。我已经在其他网站上成功完成了这项工作,但我在这个问题上遇到了障碍:链接是javascript
函数(对象?我对javascript一无所知)将我重定向到另一个页面,然后它有原始pdf链接。像这样的东西:
import requests
from bs4 import BeautifulSoup as bs
url = 'page with search results.com'
html = requests.get(url).text
soup = bs(html)
obj_list = soup.findAll('a')
for a in obj_list:
link = a['href']
print(link)
>> javascript:readfile2("F","2201","2017_2201_20170622F14.pdf")
理想情况下,我想找到一种方法来找到这将导航到的URL。我可以使用selenium
并点击链接,但是有很多文档,这将是时间和资源密集型的。有没有办法用requests
或类似的库?
编辑:看起来每个链接都转到同一个网址,根据您点击的链接加载不同的pdf。这让我觉得在requests
没有办法做到这一点,但我仍然对非硒的东西抱有希望。
可能存在这些PDF文件存在的默认URL。
您需要找到URL,点击超链接后打开这些pdf文件。
获得该URL后,您需要解析锚文本中的pdf名称。
之后,您使用url(在其上存在pdf)附加pdf名称。并请求最终的网址。