考虑一个与此类似的网站:
http://a810-bisweb.nyc.gov/bisweb/COsByLocationServlet?requestid=1&allbin=3055311
可以看出,该网站包含指向页面源中href标记引用的pdf文件的链接,例如:
<a href="javascript:$('form_cofo_pdf_view_B000114563.PDF').submit();">B000114563.PDF</a>
我想使用python打开底层文件,有效地抓取结果。
req = urllib2.Request("link.com")
page = urllib2.urlopen(req)
soup = BeautifulSoup(page)
links = []
for link in soup.findAll('a'):
links.append(link.get("href"))
通常我只是将基本网址与href网址连接起来获取文档,但是在这里,它们是用javascript引用的。因此,我不完全确定如何访问这些文件。
我更喜欢使用urrlib2和BeautifulSoup而不是切换到Selenium来点击链接。有没有人有想法实现这一目标?非常感谢。
答案 0 :(得分:0)
我下载了几个文件,并将直接链接与其名称以及文件名
中的链接所需的所有元素进行了比较文件名:
form_cofo_pdf_view_B000114563.PDF
直接链接:
http://a810-bisweb.nyc.gov/bisweb/CofoDocumentContentServlet
?passjobnumber=null
&cofomatadata1=cofo
&cofomatadata2=B
&cofomatadata3=000
&cofomatadata4=114000
&cofomatadata5=B000114563.PDF
因此,当您从字符串javascript:$('form_cofo_pdf_view_B000114563.PDF').submit();