selenium 知网爬虫之根据【关键词】获取文献信息

本文档介绍了如何使用selenium自动化工具,根据关键词搜索中国知网的文献信息。首先,分析了需求,包括登录网站,选择高级搜索,切换到关键词搜索,并定位搜索框和检索按钮。接着,通过元素定位和模拟点击操作,演示了如何用selenium进行网页交互,以实现关键词搜索。最后,提到了Python学习资源和面试资料。
摘要由CSDN通过智能技术生成


前言

关于知网爬虫的文章,后台反响都很不错。虽然但是,还是忍不住想诉苦一下

有些小伙伴文章甚至代码看都没看完,就问我 ”为什么只能爬这么多条文献信息?“(看过代码的会发现我代码里面定义了 papers_need 变量来设置爬取篇数),”为什么爬其他文献不行?我想爬 XXX 文献“(因为代码里面写的是通过【知网高级搜索中的文献来源】来搜索文章),或者是有些小伙伴直接把代码报错贴给我,问我咋回事

我觉得在网上看到别人的代码,不要一昧地拿来主义,复制粘贴就行了,你要结合你自己的本地环境对代码做适当地修改。比如定位 Xpath 元素路径,不通电脑或者说不同浏览器同一元素的 Xpath 路径有可能不是一样的,这个路径在我本地运行没问题,到了你那里就报错

当看别人的代码时,最好先搞清楚:

  1. 别人是怎么想的
  2. 别人为什么要这么写
  3. 这么写的逻辑是什么?

以我这几篇知网爬虫文章举例:

  1. 为什么要用 selenium 来爬取?
  2. 如何分析网页?如何定位元素?(Xpath、CSS 选择器等等)
  3. 如何通过 selenium 来模拟人为操作浏览器(鼠标移动、点击、滑动窗口等等)

言归正传,昨天收到一位粉丝私信说能不能根据【关键词】来搜索文献
image
今天这篇文章着重讲如何分析网页结构然后使用 selenium 根据知网的关键词来搜索文献。至于对搜索到的文献的爬取,本文不过多介绍,因为以前的文章已经写过了

需求分析

我们先来看下如果要通过关键词搜索文献,该怎么操作?

知网:中国知网 (cnki.net)

首先我们登录网站,点击【高级搜索】(也可以直接点击搜索框中的【主题】下拉选择)
image
然后我们点击【主题】——>选择【关键词】
image
image
输入要搜索的关键词(例如:数字普惠金融)然后点击【检索】
image

网页分析&元素定位

结合前面的需求分析,我们就可以对网页进行分析并定位出对应的元素

首先是【高级搜索】,高级搜索有一个链接:高级检索-中国知网 (cnki.net),这样就能省掉一个步骤了

然后我们需要点击 【主题】,才会出现下拉框。在分析网页的时候我发现当出现下拉框时,标签 <div class="sort-list" style="display: none;">" 中的 style 属性由 "display: none;" 变成 "display: block;"
image
下拉框出现之后,我们需要定位到 【关键词】 这个标签

# 关键词 Xpath 路径或 CSS 选择器
//*[@id="gradetxt"]/dd[1]/div[2]/div[1]/div[2]/ul/li[3]

li[data-val="KY"]

image
接着找到【搜索框】的 Xpath 路径。这里是一个 input 元素,用于接收来自用户的数据

# 输入框
//*[@id="gradetxt"]/dd[1]/div[2]/input

  • 24
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要使用Python爬虫获取知网文献信息,可以使用以下方法: 方法一:使用网站自带的批量导出功能。有些大型文献网站提供了批量导出功能,可以将搜索结果或指定的文献批量导出为Excel或CSV格式的文件。你可以在网站上进行搜索,找到所需的文献,然后选择批量导出选项来获取文献信息。 方法二:使用XPath来定位并获取文献信息。XPath是一种用于确定XML文档中某部分位置的语言,可以用于在网页的HTML代码中定位需要的信息。你可以使用Python的XPath库来解析网页并提取所需的文献信息。首先,需要进行浏览器的初始化,可以使用Selenium库中的webdriver模块来实现。例如,可以选择Chrome、Firefox、Edge或Safari浏览器。然后,可以使用XPath语法在网页中定位需要的信息,并通过Python代码提取出来。 总结起来,你可以选择使用网站自带的批量导出功能或者使用XPath来定位并提取文献信息。具体选择哪种方法取决于你要爬取的网站和你的需求。希望这些方法可以帮助你获取知网文献信息。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python爬虫爬取文献数据](https://blog.csdn.net/m0_66526403/article/details/130864126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值