【python爬虫】请问如何抓取深交所的处罚信息链接?

问题描述

初学Python,目标是批量抓取深交所网站上的处罚详情,内容为带‘.pdf’的一个链接。网页(http://www.szse.cn/disclosure...)和对应的源码如下:

clipboard.png

问题出现的环境背景及自己尝试过哪些方法

刚开始写的代码如下:

from urllib.request import urlopen
from bs4 import BeautifulSoup
html=urlopen('http://www.szse.cn/disclosure/listed/credit/record/index.html').read().decode('utf-8')
soup=BeautifulSoup(html,'html.parser')
link=soup.find_all('a',attrs={'href':'javascript:void(0);'})

执行结果是:

>>> link
[<a class="" href="javascript:void(0);">乐富基金子网站</a>, <a class="ml10" href="javascript:void(0);">固收子网站</a>, <a class="ml10" href="javascript:void(0);">投教子网站</a>]

并没有抓到想抓取的链接。
考虑到“encode-open”这个属性在源码中只出现了一次,改成了这样:

link=soup.find_all('a',attrs={'encode-open':re.compile(r'.*\.pdf')})

但是返回的是空列表:

>>> link               
[]

请问如何才能抓取到这个链接呢?感谢

阅读 3.1k
1 个回答

这个页面并不静态的,是js动态的加载的.
也就是说,你爬取到的仅仅是js渲染前的源码,而页面中的信息是js渲染后才出现的,所以你这样的方法是拿不到数据的

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题