Python:从html的href标签获取javascript文件

时间:2016-09-08 19:15:00

标签: javascript python html web web-scraping

考虑一个与此类似的网站:

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来点击链接。有没有人有想法实现这一目标?非常感谢。

1 个答案:

答案 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();

获取文件名时,您可以创建直接链接

工作代码:http://pastebin.com/kt72GSyYa