【Python Selenium应用】知网引证文献翻页采集(简单方便)

本文介绍如何使用Python的Selenium库,通过模拟浏览器操作,方便地采集知网上指定文章的引证文献数据。首先在高级检索中输入主题和作者获取文章链接和引证文献列表,然后解析每页引证文献的链接,特别是处理期刊、博士等类别下的分页。通过检查每个类目的数量,决定是否需要翻页,直至采集完所有引证文献链接。
摘要由CSDN通过智能技术生成

学妹需要查询一批文献的引证文献数据,采集指定文章的引证文献数据

采集思路

学妹提供的数据为题名+作者。
在这里插入图片描述
在高级检索界面输入主题及作者,拿到文章链接以及引证文献列表链接。为避免被参数困扰,数量不多的情况就直接使用selenium。若出现多条返回结果,则可以在筛选框筛选出显示50条及按相关度排序,这样基本上在第一页就可以拿到相应数据,无需翻页。
在这里插入图片描述
在这里插入图片描述

拿到引证文献列表链接后开始采集每篇引证文献的链接。期刊、博士等每个类目下都有分页,每页10条。此时selenium最为简单方便。
具体思路如下:
先解析出期刊等每个类目的标签(‘div[@class=“essayBox”]’);
再遍历每个essayBox标签,解析出数量;
若数量小于10条,直接解析即可;
若大于10条,先解析再翻页,直到翻到最后一页。
在这里插入图片描述
拿到引证文献的链接,就可以愉快的采集相应文献的数据了!

代码

引入相关包

# -*- coding: utf_8 -*-
import os
import time
import random
import pandas as pd
from lxml import etree
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.options import Options

设置远程调试

options = Options()
options.debugger_address = "127.0.0.1:9299" 
browser = webdriver.Chrome(chrome_options=options)

手动启动浏览器
CMD: 浏览器路径 + --remote-debugging-port=9299

def get_data_list(essayBox_index):
    """
    :param essayBox_index: 分类标签的索引
    :return: 当前标签下所有文献标题及链接
    """
    data_list = []
    res = browser.page_source
    xpath_str = f'//div[@id="divResult"]/div[@class="essayBox"][{
     essayBox_index}]'
    info = etree.HTML(res)
    data_list_info = info.xpath(xpath_str)[0]
    data_list_1 = [f"https://kns.cnki.net{
     i}" for i in data_list_info.xpath('./ul/li/a/@
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
基于python+selenium知网文献自动爬取源码+exe可执行文件(期末python大作业).zip基于python+selenium知网文献自动爬取源码+exe可执行文件(期末python大作业).zip基于python+selenium知网文献自动爬取源码+exe可执行文件(期末python大作业).zip基于python+selenium知网文献自动爬取源码+exe可执行文件(期末python大作业).zip基于python+selenium知网文献自动爬取源码+exe可执行文件(期末python大作业).zip基于python+selenium知网文献自动爬取源码+exe可执行文件(期末python大作业).zip基于python+selenium知网文献自动爬取源码+exe可执行文件(期末python大作业).zip 【1】项目代码完整且功能都验证ok,确保稳定可靠运行后才上传。欢迎下载使用!在使用过程中,如有问题或建议,请及时私信沟通,帮助解答。 【2】项目主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网等领域的在校学生、专业教师或企业员工使用。 【3】项目具有较高的学习借鉴价值,不仅适用于小白学习入门进阶。也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 【4】如果基础还行,或热爱钻研,可基于此项目进行二次开发,DIY其他不同功能,欢迎交流学习。 【备注】 项目下载解压后,项目名字和项目路径不要用中文,否则可能会出现解析不了的错误,建议解压重命名为英文名字后再运行!有问题私信沟通,祝顺利!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值