自编Python爬虫程序爬取国际动物健康组织oie.int有关h7n9疫情的数据

国际动物健康组织oie.int的网站基本情况

国际动物健康组织oie.int网站,提供了自己的搜索引擎,要想获取该网站的有关h7n9疫情的信息,必须通过该所有引擎。因为有关h7n9疫情的各种信息链接是通过javascript脚本动态生成。因此,我们可以借助selenium模拟浏览器来操纵网页并逐级获取有关信息。

技术难点:

通过webdriver启动chrome浏览器,并模拟人类操纵chrome并获取数据,具体涉及到以下的一些技术难点:

  1. 设置User-Afent参数 ,通过webdriver启动chrome浏览器,需要设置User-Agent参数,以便模拟人类操纵chrome;
  2. 引入WebDriverWait、By、expected_conditions等库,以便让浏览器等待所需的组件确实渲染到窗口中 比如:#search-keywords 查询框和.oe_inputSubmit提交按钮
  3. 需要设计空的列表容器,以便将获取的数据按行插入列表结构中,这个列表结构需要一个二维列表,所以,对于二维列表的操作必须熟练;
  4. 用webdriver的find_elements_by_xpath或其他定位函数定位到页面中的元素,并获取该元素的值,然后进行必要的加工;
  5. 对于文献标题超链接,需要定位到,并通过click()函数切换到详细页面,获取到详细页面后,还需要再返回到前一个页面,继续获取下一个标题项的内容;
  6. 标题项和摘要、文献编号、所属页号插入到容器中后,还需要将该标题下获取的详细文献内容再追加到容器中该行的尾列;
  7. 对于105条文献,每页显示10条,则需要11页才能全部列全,所以,要设计翻页功能。并在程序中使用循环控制来处理;
  8. 页面切换之后,在回退回去,之前在该页获取到的超链接对象,并不在该页面元素中,所以必须重新定位获取。
  9. 最后就是将列表存入到文件中,存入csv文件中,需要注意,在open文件时,其参数中需要带encoding=‘utf-8’参数,否则,写入时可能因缺省文件的编码为GBK而失败。
  10. <
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值