【爬虫实战】Python爬取知网文献信息

本文介绍了如何利用Python爬虫技术,通过知网空间对特定领域的文献进行高效检索和信息提取。首先选择合适的搜索入口,分析请求参数,然后编写Python代码模拟POST请求获取搜索结果。接着,使用Xpath解析内容,提取标题、作者、出版日期、关键词等关键信息,并保存到Excel表格中,便于进一步研究和管理。最后,展示了爬取‘金融科技’和‘数字经济’领域文献的例子及结果。
摘要由CSDN通过智能技术生成

引言

临近毕业季,想必很多今年毕业的朋友们最近都在焦头烂额地忙着撰写论文吧。那么如何高效地了解研究领域的热点问题,学习优秀论文解决问题的思路和方法呢?我们可以使用“知网”这个众所周知的平台来进行文献的检索与阅读。使用python可以更加有效地实现文献信息的爬取。通过快速浏览相关领域文献的基本信息,我们可以从中找出感兴趣的值得我们深入研究的文章再来进行精读,极大地提高了效率。

01 选择合适的待爬取网站

我们日常使用知网的网址为:https://www.cnki.net/。但是该网址难以获取网页源代码。右键“查看网页源代码”后会跳转到如下的页面:

但是,我们发现可以从知网空间获取网页源代码。知网空间是知网的一个搜索入口,常用于文献的快速检索,网址为:https://search.cnki.com.cn/

02 目标页面分析

以“金融科技”为例,点击搜索,对页面进行分析,按F12选择Fetch/XHR。我们找到了如下发送的请求,且发现是以post方式发送。

且携带的参数为:‘searchType’: ‘MulityTermsSearch’, ‘Article Type’: ‘’, ‘ReSearch’: ‘’, ‘ParamIsNullOrEmpty’: ‘false’, ‘Islegal’: ‘false’, ‘Content’: ‘金融科技’, ‘Theme’: ‘’, ‘Title’: ‘’, ‘KeyWd’: ‘’, ‘Author’: ‘’, ‘SearchFund’: ‘’, ‘Originate’: ‘’, ‘Summary’: ‘’, ‘PublishTimeBegin’: ‘’, ‘PublishTimeEnd’: ‘’, ‘MapNumber’: ‘’, ‘Name’: ‘’, ‘Issn’: ‘’, ‘Cn’: ‘’, ‘Unit’: ‘’, ‘Public’: ‘’, ‘Boss’: ‘’, ‘FirstBoss’: ‘’, ‘Catalog’: ‘’, ‘Reference’: ‘’, ‘Speciality’: ‘’, ‘Type’: ‘’, ‘Subject’: ‘’, ‘SpecialityCode’: ‘’, ‘UnitCode’: ‘’, ‘Year’: ‘’, ‘AcefuthorFilter’: ‘’, ‘BossCode’: ‘’, ‘Fund’: ‘’, ‘Level’: ‘’, ‘Elite’: ‘’, ‘Organization’: ‘’, ‘Order’: ‘1’, ‘Page’: ‘1’, ‘PageIndex’: ‘’, ‘ExcludeField’: ‘’, ‘ZtCode’: ‘’, ‘Smarts’: ‘’,

03 获取相应内容


base_url = 'http://search.cnki.com.cn/Search/ListResult'
headers = {
   
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/110.0.0.0 Safari/537.36',

}


def get_page_text(url, headers, search_word, page_num):
    data = {
   
        'searchType': 'MulityTermsSearch',
        'ArticleType': '',
        'ReSearch': '',
        'ParamIsNullOrEmpty': 'false',
        'Islegal': 'false',
        'Content': search_word,
        'Theme': '',
        'Title': '',
        'KeyWd': '',
        'Author': '',
        'SearchFund': '',
        'Originate': '',
        'Summary': '',
        'PublishTimeBegin'
要使用Python爬取知网参考文献,可以参考以下步骤: 1. 首先,你可以使用Python的requests库发送POST请求来获取网页信息。这是因为知网的查询结果存储在iframe中,所以需要通过POST请求来获取iframe中的内容。\[2\] 2. 在发送POST请求时,你需要使用合适的表单数据来模拟搜索框的输入。这可以通过查看知网网页源代码来确定。\[3\] 3. 一旦你获取到了查询结果的网页内容,你可以使用Python的BeautifulSoup库来解析网页,并提取你需要的参考文献信息。BeautifulSoup可以帮助你定位和提取网页中的特定标签。\[3\] 通过以上步骤,你就可以使用Python爬取知网参考文献了。希望对你有帮助! #### 引用[.reference_title] - *1* [【爬虫实战Python爬取知网文献信息](https://blog.csdn.net/weixin_68789096/article/details/130900608)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Python爬取CNKI论文的信息](https://blog.csdn.net/qq_41217121/article/details/106104297)[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^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值