[Python爬虫]爬取东方财富网公司公告需要注意的几个问题
来源:互联网 发布:手机处理数据软件 编辑:程序博客网 时间:2024/04/29 10:26
在上一篇文章中,以爬取东方财富网公司公告为例,介绍了如何爬取利用ajax加载的网页,以及如何模拟翻页。但是,在实际应用的过程中,发现了一些问题。接下来就来一一分析解决。
问题一、公告数量过多,后面的公告无法爬取。
比如说,公告的页面数量是大于1000的,但是,我们最多只能看到1000页。那么,如果想要爬取更多的页面应该怎么办呢?
我这里有一个思路,就是先获取所有股票的id,根据股票的id来遍历。一般来说,单个股票的公司公告数量不会大于1000页。这样,就可以顺利爬取后面的公告了。
问题二、某只股票没有公司公告
解决了问题一,按照股票的id来分别爬取每只股票的公司公告。这样,就会带来一个新问题,有的股票没有公司公告怎么办?这时候,就需要使用try-catch进行判断,如果当前没有该元素,则返回。
try:do something..except NoSuchElementException,e: return
问题三、一个公司的公告爬完了,页面重复爬最后一页,怎么办
当一个公司的公告爬完了,网页不会自动开始遍历下一家公司的公告,而是会重复的爬当前的最后一页。这就需要对“下一页” 连接是否有效进行判断。
以东方财富网的公告页面为例,当“下一页”无效的时候,其class属性会变为“nolink”。那么,可以对是否出现nolink属性进行判断。
try: nextPage = WebDriverWait(driver, 10).until( EC.presence_of_element_located((By.XPATH, "//a[contains(text(),'下一页')]")) ) if nextPage.get_attribute('class') == 'nolink': break nextPage.click() except Exception,e: break
这就是目前遇到的一些问题,及相应的解决方法。
改正过以后,除了断网,程序基本不会因为错误而退出。下面放一下新的代码连接,和上一个版本相比,更加实用和稳定。
代码连接:代码
0 0
- [Python爬虫]爬取东方财富网公司公告需要注意的几个问题
- 【Python爬虫】利用Selenium等待Ajax加载及模拟自动翻页,爬取东方财富网公司公告
- 【Python爬虫】东方财富数据爬取
- python 东方财富网&百度股票数据定向爬虫 实例
- 东方财富网股票数据爬虫
- python爬虫案例——东方财富股票数据采集
- 网络爬虫之东方财富网股票板块
- ArcEngine_WPF 需要注意的几个问题
- Ajax需要注意的几个问题
- python抓取东方财富网股票的公告的里面的链接
- 学习Python爬虫的几个问题
- 基于正则表达式(python)对东方财富网上证指数吧爬虫实例
- python 爬虫实现前需要注意的地方
- python做网页爬虫需要注意的问题
- 关于使用标签需要注意的几个问题
- 使用GDI+时需要注意的几个问题
- 学习IEEE754标准需要注意的几个问题
- Flex开发时需要注意的几个问题
- 6. ZigZag Conversion 题解
- LeetCode之路:104. Maximum Depth of Binary Tree
- 随笔之设计模式(一)
- 项目中用到的一些git命令(持续更新)
- Linux基础分区和格式化
- [Python爬虫]爬取东方财富网公司公告需要注意的几个问题
- Java8之lambda表达式
- sort命令
- 修改页面滚动条样式CSS代码!(待修改兼容性)
- 分书问题(搜索)
- LintCode 38 搜索二维矩阵 II
- stmp协议以及邮件的发送
- 1649
- ULUA的简洁用法(二)