博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python 爬虫-抓取中小企业股份转让系统公司公告的链接并下载
阅读量:5950 次
发布时间:2019-06-19

本文共 1455 字,大约阅读时间需要 4 分钟。

系统运行系统:MAC

用到的python库:selenium、phantomjs等

由于中小企业股份转让系统网页使用了javasvript,无法用传统的requests、BeautifulSoup库获取想要的下载链接,所以这次使用selenium、phantomjs库,这两个库的安装方法百度搜索就可以找到。本次代码只抓取一页的下载链接并下载pdf文档。

抓取源代码如下:

from selenium import webdriverfrom urllib.request import urlretrieveimport os, timeclass DownloadFiles():    def __init__(self):        self.url = 'http://www.neeq.com.cn/disclosure/announcement.html'        self.basePath = os.path.dirname(__file__)    def makedir(self, name):        path = os.path.join(self.basePath, name)        isExist = os.path.exists(path)        if not isExist:            os.makedirs(path)            print('File has been created.')        else:            print('The file is existed.')        # 切换到该目录下        os.chdir(path)    def connect(self, url):        driver = webdriver.PhantomJS()        driver.get(url)        return driver    def getFiles(self):        driver = self.connect(self.url)        self.makedir('Files')        aList = driver.find_elements_by_tag_name('a')        for r in aList:            try:                link = r.get_attribute('href')                if link.endswith('pdf'):                    print(r.text)                    print(link)                    fileName = r.text + '.pdf'                    urlretrieve(link, fileName)            except:                passif __name__ == '__main__':    obj = DownloadFiles()    obj.getFiles()
抓取单页javascript中的链接并下载

 

转载于:https://www.cnblogs.com/fredkeke/p/6390748.html

你可能感兴趣的文章
Elasticsearch 2.2.0 插件篇:安装
查看>>
文本过滤--sed 1
查看>>
PHP CURL并发,多线程
查看>>
ES 概念及动态索引结构和索引更新机制
查看>>
iOS 开发百问(2)
查看>>
MySQL for Mac 安装和基本操作(包含后期的环境变量设置)
查看>>
Linux及windows下常见压缩程序的压缩能力对比
查看>>
JAVAEE-junit测试hibernate里的方法(hibernate交给spring管理)的问题
查看>>
MOTO MB860 国行2.3.5优化增强ROM_Top_T5_end(经典收藏版)
查看>>
C#学习经典(二)---MVC框架(Model view Controller)
查看>>
我的友情链接
查看>>
log4j配置文件说明
查看>>
Maven: 为Compiler插件设置source和target版本
查看>>
L2TP/IPSec一键安装脚本
查看>>
linux下永久添加静态路由
查看>>
android 全局变量和局部变量命名规则
查看>>
Ubuntu Sub-process /usr/bin/dpkg
查看>>
详解DNS的常用记录(下):DNS系列之三
查看>>
“爆炸门”苹果补刀,三星该“哭晕了”!
查看>>
基于linux的3款压力测试工具:Siege,webbench,ab
查看>>