自动采集器怎么用(如何让浏览器替我们搬砖呢?万能的谷歌给我找到了一篇教程 )

优采云 发布时间: 2021-11-28 16:10

  自动采集器怎么用(如何让浏览器替我们搬砖呢?万能的谷歌给我找到了一篇教程

)

  在做学术和科学研究的过程中,我们经常需要为某个特定的主题下载海量的文档。在向电脑下载数百个文档的过程中,遇到数据库不够友好,不提供批量下载功能怎么办?碰巧遇到这样的批量下载科研任务和批量下载功能有限的数据库网站……

  

  做了几天,感觉有点无聊……这个时候,我们希望我们的浏览器能变得更智能,帮助我们完成这个枯燥而机械的过程。如何让浏览器为我们搬砖?万能的google给我找了个教程python批量下载CNKI论文。那么,使用python+selenium,我们可以将浏览器调整到我们想要的方式,让它自动为我们下载文献。感谢前辈提供巨人的肩膀!在本文章的基础上,以及本文章作者提供的代码,通过学习和改造,可以应用于外语数据库。这里我们以Chrome浏览器和SpringLink数据库为例进行说明。

  

  一、需求分析

  科学研究中一个非常重要的步骤是查找文件。最基本的任务是查找特定主题术语下的文档。那么我们需要浏览器做的事情就很明确了,就是帮我们下载文献,尤其是海量的文献。

  二、过程分析

  我们知道,输入主题词后,下载文档的过程在这些步骤中重复:

  点击下载按钮;开始下载,下载完成;返回列表页面;点击下一个文件继续下载;完成本页的下载过程后,点击下一页重复上述过程。

  这么简单的流程为什么不能交给电脑呢?点击下载按钮本质上是打开下载链接,所以我们可以把上面的过程简化为两步:

  获取所有下载链接;单击每个下载链接进行下载。三、编程实现1、Python

  编程需要选择一种编程语言。我这里选择的语言是Python,简单好用。本文所有代码都是Python。Python的安装、使用和语法规则请参考廖雪峰的Python教程;运行环境我使用的是jupytor notebook。为此,请参阅 Jupyter Notebook 介绍、安装和使用教程。这里就不详细说了,因为我知道的不多……

  2、硒

  在开始编程之前,我们需要了解一个可以自动控制浏览器的工具——Selenium。Selenium 是一个 Web 应用测试工具,它直接运行在浏览器中,就像真实用户在操作一样。(引自:Selenium 百度百科)

  安装启动,我觉得比较好用的参考资料是selenium webdriver启动三大浏览器Firefox、Chrome、IE、Python爬虫环境常用库安装等等。请注意,您必须根据您的浏览器下载浏览器驱动程序。我使用 Chrome 浏览器。你需要看好自己浏览器的版本。具体方法是在导航栏中输入chrome://version/。我的版本是70.0.3538。

  

  然后进入下载最新版本的chromedriver(selenium webdriver启动火狐、Chrome、IE三大浏览器,此文章中的下载链接无效)。

  

  解压安装完成后,需要把这个.exe放到python的lib文件夹下。我的文件夹路径是:F:\SOFTWARE\Anaconda3\Library\bin。之后,使用以下代码测试是否可以使用Selenuim。

  from selenium import webdriver

driver = webdriver.Chrome()

driver.get("http://www.baidu.com")

  3、网站分析

  这里我们以 SpringerLink 数据库为例。批量下载文档的工作本质上就是一个爬虫。在爬取之前,我们首先需要分析起点网页和目标网站的结构(这里需要有HTML知识库,可以参考w3school的HTML教程)。对于我这个三心二意的编程玩家来说,当然希望越少编程越好,所以我选择的起始页面是进入关键词并约束条件后的页面。进入数据库后,进入关键词高等教育,选择学科为教育,选择时间为2018-2019,得到文章开头的图片,嗯,3430个文献数据,恰巧你有一些科研任务必须下载。网站 尚未提供批量下载按钮。嗯,感觉……好吧。我们把这个页面的链接%22Education%22&date-facet-mode=between&just-selected-from-overlay=facet-discipline&facet-start-year=2018&facet-discipline=%22Education%22&facet-end-year=2019&facet-content-type = %22Article%22&query=higher+education 被复制。

  

  接下来分析网站结构。我们发现在SpringerLink数据库中,只要有权限,点击下载PDF就可以下载。然后我们只要拿到这些链接就可以批量下载了。

  

  一般按F12进入浏览器的开发者工具,选中这个元素,发现是真的。

  

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线