注意:知网数据采集有一整套快捷采集工具,可以不用按照下面的教程学习怎样定义网络爬虫规则,而是直接采用快捷采集工具下载数据即可。 1,知网的快捷采集工具入口是:采集知网数据。选择要采集的网页类型,添加网址或者搜索关键词,即可启动采集。 2,快捷采集的使用方法:如何使用快捷采集 在中国知网通过高级检索,输入关键词后抓取相关文章的标题、作者、摘要、关键词等信息。但是中国知网在输入关键词搜索后网址并不会发生变化,所以在抓取的时候我们需要爬虫自动输入目标关键词搜索后,开始抓取数据。 要抓取到标题、作者、摘要、关键词等信息,我们一共需要做四个规则: 第一个规则“知网_搜索”负责输入关键词并搜索; 第二个规则“知网_搜索结果”用来抓取第一个规则“知网_搜索”输入关键词后搜索到的数据,抓取的是每篇文章详情页的链接,作为第三个规则“知网_文章数据_更多”的线索,但是第二级规则直接抓取下来的链接不能像层级抓取那样直接给第三个规则使用,需要使用Excel统一修改一下链接参数才能作为第三个规则的线索,下文会为大家提供具体操作方式; Tips:有些文章的摘要需要点击“更多”才能显示全部,为了抓取完整的摘要我们需要做一个规则来点击这个“更多”. 第三个规则“知网_文章数据_更多”负责模拟点击展开完整摘要。 第四个规则“知网_文章数据”抓取点击“更多”后的文章摘要、标题、作者、关键词等信息。 一、第一个规则——知网_搜索 1.以中国知网高级检索文献文章为例,将文献高级检索的链接:http://epub.cnki.net/kns/brief/result.aspx?dbPrefix=scdb&action=scdbsearch&db_opt=SCDB 粘贴到谋数台中。 第一个规则的主要工作是为了搜索关键词,但是为了规则有效执行,在一个规则中我们抓取文章类型,在这里以文献为例我们抓取的内容就是“文献”并且勾上关键内容。
图2 如图2所示,具体操作如下: #1.将目标抓取网页粘贴到谋数台网址栏处,并回车。 #2.看到网页加载完成。 #3.将抓取内容“文献”映射到整理箱中。 #4.将文献勾选关键内容。 2.跳转到连续动作工作台输入关键词及其动作 自动输入关键词的要点是要建立两条步骤,第一条步骤通过输入框的定位表达式来找到输入框后输入关键词。第二条步骤则是通过定位表达式找到搜索按钮然后爬虫自行点击按钮。 2.1建立输入步骤
图3 如图3所示,具体操作如下: #1.输入目标主题名也就是第二个规则主题名,表示搜索关键词后由第二个规则来执行抓取 #2.点击谁在用查看输入的主题名是否有被别人占用,如果被别人已经占用则需要更换别的主题名。 #3.新建一条输入步骤,上文已经提到首先是进行输入动作,所以这里是新建一条输入步骤。 #4.输入要搜索的关键词。 #5.根据网页结构填写输入框的定位表达式也就是能够在网页上定位到输入框的XPath表达式,写好一个表达式后,可以利用MS谋数台的搜索功能,验证一下是否定位准确,具体参看搜索网页内容的使用方法。 2.2建立提交步骤
图4 如图4所示,具体操作如下: #1.根据网页结构填写检索的定位表达式也就是能够在网页上定位到输入框的XPath表达式,写好一个表达式后,可以利用MS谋数台的搜索功能,验证一下是否定位准确,具体参看搜索网页内容的使用方法。 存规则后知网_搜索这个规则就完成了。 二、第二个规则——知网_搜索结果 这个规则负责来抓取由知网_搜索进行关键词搜索后的页面,该规则和定义普通规则操作相同。 将要抓取的内容映射到整理箱中,我们要抓取每篇文章的详细数据摘要作者等,则需建立层级抓取,在当前规则抓取每篇文章的详细数据页面的网址来为知网_文章数据生成线索。
图5 如图5所示,具体操作如下: #1.将要抓取的下级链接映射到整理箱中 #2.勾关键内容 #3.点击整理箱顶节点做样例复制,要抓取当前页面所有文章的下级链接就需要做样例复制,详细参看教程:样例复制 #4.跳转到爬虫路线工作台做翻页线索,要抓取翻页后的文章就要做翻页线索,详细参看教程: 翻页抓取 存规则后知网_搜索结果规则就完成了,接下来就需要做文章详细页面的抓取规则。 三、第三个规则——知网_文章数据_更多 1.将网页上的“更多”按钮做内容映射映射到整理箱中,并勾选关键内容。 2.在爬虫路线工作台做模拟点击,即为将“更多”作为记号做一条记号线索。
图6 如图6所示,具体操作如下: #1.新建一条记号线索,并勾选连贯抓取,表示在执行抓取任务时,爬虫可以在同一个DS打数机窗口内抓取完当前页面后直接跳转到下一个页面进行抓取。 #2.点击“更多”按钮,自动定位到网页标签节点,展开节点,找到包含“更多”的text节点。 #3.右击text节点,线索映射→记号线索,可以看到“更多”自动填入到记号值。 #4.将节点做线索范围映射,右击翻页区块节点,选择线索映射→定位→线索1。完成后定位编号会显示翻页区块节点的定位编号。 存规则后知网_文章数据_更多规则就完成了,接下来就需要做点完“更多”知网来执行抓取的规则——知网_文章数据。 Tips:第三个、第四个规则演示的就是模拟点击,如果有不明白的同学可以参看教程:模拟点击 四、第四个规则——知网_文章数据。 这个规则是最简单的类型,将需要抓取的内容映射到整理箱中即可。
图7 如图7所示,具体操作如下: #1.将要抓取的内容做内容映射到整理箱中。五、修改文章详细页面网址参数,构造出新的网址,为第三个规则——知网_文章数据_更多生成线索
将第二个规则采集到的详情页链接导入excel。 可以发现不是完整的网址,DS打数机也无法构造网址直接生成可访问的网址,所以需要用excel手动修改。 对比详情页的完整网址,如下所示:
http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=2&CurRec=1&recid=&filename=GGYY201410012&dbname=CJFDLAST2015&dbcode=CJFQ&pr=&urlid=&yx=&v=MTY1NDFyQ1VSTCtlWnVkc0Z5emhXcnJBSWlyU2Q3RzRIOVhOcjQ5RVpvUjhlWDFMdXhZUzdEaDFUM3FUcldNMUY= 可以发现采集到的链接少了前面的域名,并多了“/kns”这部分,可用函数修改链接,
在单元格J2输入公式="http://www.cnki.net/KCMS"&RIGHT(I2,LEN(I2)-4)得到可访问的网址,并往下填充,这样得到的网址就可以批量添加作为第三个规则的线索。 |
Fuller: 可以帮你定制规则,加入到集搜客的qq群,找“集搜客官方定制服务”这个管理员。qq群是801640866
gooseeker0809: 我需要的就是你教程中这种,收集特定主题词下所有相关文章标题,见刊时间以及文章的关键词,别的信息不用。DIY中没有看到合我需求的。 ...
Fuller: 这个没有视频,你可以把具体问题发在社区中,我们帮你分析。另外,这里有一套现成的采集规则,你找找有没有符合你的要求的:<a href="https://www.gooseeker.com/res/data" target="_blank">https://www.gooseeker.com/res/data</a> ...
gooseeker0809: 你如果能做个视频就好了。
Fuller: 规则二抓到的网址应该是用来点击“更多”的,你是说这个网址吗?
442759129: 好的,太谢谢你啦~还有一个小问题(我的问题好多hhhh,抱拳),这个规则二收集出来的网址修改后,是无法通过复制粘贴到浏览器直接打开的是吗? ...
ym: 用这个网址去测试数据DIY上的“知网文献详情”,采集成功,没有失败。你采集失败,可能是网速原因,也可能是采集过程出现了验证码导致了采集失败,知网也是有反 ...
442759129: <a href="http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=3&CurRec=1&filename=ZGDC201501002&dbname=CJFDLAST2015&dbcode=CJFQ&pr=&urlid=&yx=&uid=WEEvREcwSlJHS" target="_blank">http://www.cnki.net/KCMS/detail/detail.aspx?QueryID=3&CurRec=1&filename=ZGDC201501002&dbname=CJFDLAST2015&dbcode=CJFQ&pr=&urlid=&yx=&uid=WEEvREcwSlJHS</a> ...
Fuller: 添加的网址发出来一个,我测试一下看看
442759129: 我使用diy数据下载下来的数据仅限于这篇帖子所说的第一、二个规则,我想进入到第三四个规则中,也就是进入到单独文章的界面然后得到它关于摘要和参考文献的信息 ...
442759129: 我使用diy数据下载下来的数据仅限于这篇帖子所说的第一、二个规则,我想进入到第三四个规则中,也就是进入到单独文章的界面然后得到它关于摘要和参考文献的信息 ...
Fuller: 有些时候不能用层级抓取,但是使用网址的时候就会失效,具体怎么运行要看这个文档。目前这些规则都放在数据DIY板块了,不用下载规则,直接运行爬虫就行,网址:h ...