之前在Python爬虫实战(7)中曾爬取过万方,本篇博客的爬取解析过程和之前几乎完全一样,不同的是数据存储方式,之前是存储到文件中(csv,txt,json,excel等),这次我们将提取的论文信息存储到MongoDB数据库中。
首先我们打开万方首页http://www.wanfangdata.com.cn:
在搜索框中输入关键词,选择期刊、学位或会议,点击搜论文,并可得到与关键词相关的期刊、学位或会议论文,显示在下方,右上角是页数和搜索结果,默认一页20篇论文。
我们需要用爬虫来模拟上述操作,通过给定一个关键词,选择期刊、学位或会议,进行搜索,将搜索结果即论文的摘要、题目、作者等信息爬取下来。
首先,我们分析一下页面的URL:
通过观察URL,可以得出,searchType决定了搜索类型,perio代表期刊、conference代表会议、degree代表学位;pageSize=20代表默认一页显示20篇(这个不用修改);searchWord表示搜索的关键词用%十六进制的形式代表中文字符。
仅仅依靠上述可见的URL是不够的,我们还需要页数信息,现在万方数据库对这些信息都隐藏了,不过我们可以使用之前老版本的URL,虽然现在隐藏了,之前的URL还是可以用的。
2)当搜索类型为会议时: