2023届计算机专业弄潮儿如何快速找毕业论文文献?

2023-11-17

人生苦短,我用Python

在这里插入图片描述

一、准备工作

软件选择

  • Python3.8
  • pycharm

模块

requests  #模拟请求
Selenium   # 浏览器自动化操作
  • win+r打开搜索框,输入cmd按确定打开命令提示符窗口,输入pip install 加上你要安装的模块名,
    回车即可安装,下载速度慢就换国内镜像源。
  • 然后要下载一个谷歌浏览器驱动,版本跟你的浏览器最相近的那个就行。

在这里插入图片描述

二、获取数据

页面分析

  • 首先分析一下页面元素,我们一般是在首页输入框中输入你想搜的内容,然后跳转到搜索页面。
    请添加图片描述
  • 我们通过浏览器的检查页面,得到输入框和搜索图标的XPATH分别为:
input_xpath = '/html[1]/body[1]/div[1]/div[2]/div[1]/div[1]/input[1]'
button_xpath =  '/html[1]/body[1]/div[1]/div[2]/div[1]/div[1]/input[2]'
  • 在输入框输入要搜索的内容,操作搜索按钮转到结果页。
  • 以搜索Python为例,共找到15,925条,300页,每页中包含20个条目,每个条目包含题目、作者、来源等等内容。
    请添加图片描述
  • 通过对当前页面分析发现每个条目对应的的xpath的规律
/html[1]/body[1]/div[5]/div[2]/div[2]/div[2]/form[1]/div[1]/table[1]/tbody[1]/tr[1]/td[2]
  • 就是倒数第二个标签数字代表本页的第几个条目,最后一个标签 2 - 6
    分别代表题目、作者、来源、发表时间和数据库。在当前页面无法或者文献的摘要信息,下载链接,需要进一步点击进入相关文献条目。
  • 进入详情页面后,根据class name:abstract-text 能够很容易定位到摘要的文本,class name:
    btn-dlcaj 定位到下载链接,其他元素也是一样的。
    请添加图片描述

请添加图片描述

三、开始写代码!

导入要用的库

import time 
from selenium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.common.by import By
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities
from urllib.parse import urljoin

创建浏览器对象,设置相关参数

get直接返回,不再等待界面加载完成

desired_capabilities = DesiredCapabilities.CHROME
desired_capabilities["pageLoadStrategy"] = "none"

设置谷歌驱动器的环境


                
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

2023届计算机专业弄潮儿如何快速找毕业论文文献? 的相关文章

  • 没有名为 crypto.cipher 的模块

    我现在正在尝试加密一段时间 我最近得到了这个基于 python 的密码器 名为PythonCrypter https github com jbertman PythonCrypter 我对 Python 相当陌生 当我尝试通过终端打开 C
  • 将 saxon 与 python 结合使用

    我需要使用 python 处理 XSLT 目前我正在使用仅支持 XSLT 1 的 lxml 现在我需要处理 XSLT 2 有没有办法将 saxon XSLT 处理器与 python 一起使用 有两种可能的方法 设置一个 HTTP 服务 接受
  • 为 Anaconda Python 安装 psycopg2

    我有 Anaconda Python 3 4 但是每当我运行旧代码时 我都会通过输入 source activate python2 切换到 Anaconda Python 2 7 我的问题是我为 Anaconda Python 3 4 安
  • 使用 matplotlib 绘制时间序列数据并仅在年初显示年份

    rcParams date autoformatter month b n Y 我正在使用 matpltolib 来绘制时间序列 如果我按上述方式设置 rcParams 则生成的图会在每个刻度处标记月份名称和年份 我怎样才能将其设置为仅在每
  • 从字符串中删除识别的日期

    作为输入 我有几个包含不同格式日期的字符串 例如 彼得在16 45 我的生日是1990年7月8日 On 7 月 11 日星期六我会回家 I use dateutil parser parse识别字符串中的日期 在下一步中 我想从字符串中删除
  • python 相当于 R 中的 get() (= 使用字符串检索符号的值)

    在 R 中 get s 函数检索名称存储在字符变量 向量 中的符号的值s e g X lt 10 r lt XVI s lt substr r 1 1 X get s 10 取罗马数字的第一个符号r并将其转换为其等效整数 尽管花了一些时间翻
  • 如何从网页中嵌入的 Tableau 图表中抓取工具提示值

    我试图弄清楚是否有一种方法以及如何使用 python 从网页中的 Tableau 嵌入图形中抓取工具提示值 以下是当用户将鼠标悬停在条形上时带有工具提示的图表示例 我从要从中抓取的原始网页中获取了此网址 https covid19 colo
  • 是否可以忽略一行的pyright检查?

    我需要忽略一行的pyright 检查 有什么特别的评论吗 def create slog group SLogGroup data Optional dict None SLog insert one SLog group group da
  • 使用 Tkinter 显示 numpy 数组中的图像

    我对 Python 缺乏经验 第一次使用 Tkinter 制作一个 UI 显示我的数字分类程序与 mnist 数据集的结果 当图像来自 numpy 数组而不是我的 PC 上的文件路径时 我有一个关于在 Tkinter 中显示图像的问题 我为
  • 从 Flask 访问 Heroku 变量

    我已经使用以下命令在 Heroku 配置中设置了数据库变量 heroku config add server xxx xxx xxx xxx heroku config add user userName heroku config add
  • 添加不同形状的 numpy 数组

    我想添加两个不同形状的 numpy 数组 但不进行广播 而是将 缺失 值视为零 可能最简单的例子是 1 2 3 2 gt 3 2 3 or 1 2 3 2 1 gt 3 2 3 1 0 0 我事先不知道形状 我正在弄乱每个 np shape
  • Flask如何获取请求的HTTP_ORIGIN

    我想用我自己设置的 Access Control Allow Origin 标头做出响应 而弄清楚请求中的 HTTP ORIGIN 参数在哪里似乎很混乱 我在用着烧瓶 0 10 1 以及HTTP ORIGIN似乎是这个的特点之一object
  • 无法在 Python 3 中导入 cProfile

    我试图将 cProfile 模块导入 Python 3 3 0 但出现以下错误 Traceback most recent call last File
  • Jupyter Notebook 内核一直很忙

    我已经安装了 anaconda 并且 python 在 Spyder IPython 等中工作正常 但是我无法运行 python 笔记本 内核被创建 它也连接 但它始终显示黑圈忙碌符号 防火墙或防病毒软件没有问题 我尝试过禁用两者 我也无法
  • Fabric env.roledefs 未按预期运行

    On the 面料网站 http docs fabfile org en 1 10 usage execution html 给出这个例子 from fabric api import env env roledefs web hosts
  • 将图像分割成多个网格

    我使用下面的代码将图像分割成网格的 20 个相等的部分 import cv2 im cv2 imread apple jpg im cv2 resize im 1000 500 imgwidth im shape 0 imgheight i
  • 向 Altair 图表添加背景实心填充

    I like Altair a lot for making graphs in Python As a tribute I wanted to regenerate the Economist graph s in Mistakes we
  • 为字典中的一个键附加多个值[重复]

    这个问题在这里已经有答案了 我是 python 新手 我有每年的年份和值列表 我想要做的是检查字典中是否已存在该年份 如果存在 则将该值附加到特定键的值列表中 例如 我有一个年份列表 并且每年都有一个值 2010 2 2009 4 1989
  • 解释 Python 中的数字范围

    在 Pylons Web 应用程序中 我需要获取一个字符串 例如 关于如何做到这一点有什么建议吗 我是 Python 新手 我还没有找到任何可以帮助解决此类问题的东西 该列表将是 1 2 3 45 46 48 49 50 51 77 使用
  • 使用 Python 的 matplotlib 选择在屏幕上显示哪些图形以及将哪些图形保存到文件中

    我想用Python创建不同的图形matplotlib pyplot 然后 我想将其中一些保存到文件中 而另一些则应使用show 命令 然而 show 显示all创建的数字 我可以通过调用来避免这种情况close 创建我不想在屏幕上显示的绘图

随机推荐

  • 动态链接

    动态链接 命令 gcc static 产生静态库 shared 产生共享库 readelf d 查看 dynamic段的内容 ldd 查看一个程序主模块或一个共享库依赖于哪些共享库 一 静态链接和动态链接的优缺点 静态链接 空间的浪费 静态
  • Arduino结合HX711实现8路信号采集称重

    说明 使用两块Arduino实现8路Sensor同时采集 并输出控制信号 写作目的主要是为了作为学习笔记 Arduino Sensor接线图 1 双机通讯连线图 2 HX711和Sensor的连线图 3 将8个Sensor的SCK全部接到r
  • 键盘输入_bp

    依据惯例 仍然感谢出处 来自程序员的暴击 https space bilibili com 128373173 学习了下 这个说了个什么呢 人到达灯附近 显示提示文字 按F键开灯和关灯切换 远离灯时 提示文字消失 不能切换灯的切换开关状态
  • QT编译报错无法解析的外部符号

    QT编译报错无法解析的外部符号 特征 头文件 有几个槽函数 提示有多少个无法解析的外部符号 注释掉宏Q OBJECT 可以编译通过 可能原因 1 对应的cpp文件没有加入项目中 2 cpp文件 右键属性 为 自定义工具 没有进行编译 修改为
  • 华为、华三、锐捷、飞塔、山石的抓包命令

    一 华为的抓包命令 1 基本概念 华为的抓包行为称之为镜像端口 也就是说将需要抓取的接口上 称为镜像端口 的流量复制一份到另一个接口上 工程师进行流量观察的端口 称为观察端口 如下图所示 2 华为镜像端口分类 1 本地镜像端口 也就是观察端
  • Django框架:优缺点、实用场景及与Flask、FastAPI的对比

    Django是一个使用Python语言编写的高级Web框架 它提供了快速开发 可重用和可维护的Web应用程序所需的一切组件 在本文中 我们将探讨Django的get和post请求 优缺点 实用场景以及与Flask FastAPI的对比 Dj
  • windows中如何将收藏夹里的下载链接加入到开始

    windows中如何将收藏夹里的下载链接加入到开始 以windows 7为例 设置方法如下 1 右击工具栏 属性 2 开始菜单 自定义 下拉至下载 点中显示为链接 确定 3 可以看到 下载已经看到了
  • C# 泛型详解(泛型类,方法,接口,委托,约束,反射 )

    目录 一 什么是泛型 二 为什么要用泛型 三 泛型和Object类型的区别 四 泛型类 五 泛型方法 六 泛型接口 七 泛型委托 八 泛型约束 九 泛型配合反射 结束 一 什么是泛型 先看一段介绍 泛型 Generic 是将不确定的类型预先
  • 天梯题集——多项式A除以B(多项式除法,递归与循环的效率比较)

    多项式A除以B 多项式除法 这里就不展开介绍多项式除法 只需将多项式看成一个整体就类似于整数除法 x3 1 x 1 x2 x 1 多项式除法的演示图 解题思路 模拟 A B 多项式除法 方案一 递归 include
  • 抗渗等级p6是什么意思_混凝土p6是什么意思

    展开全部 40是混凝土的强度等62616964757a686964616fe58685e5aeb931333431356664级 P6是抗渗混凝土按抗渗压力 抗渗混凝土按抗渗压力不同分为P6 P8 P10 P12和大于P12共5个等级 抗渗
  • 面试题目搜集(5)

    本博客的 面试题目搜集系列不错 1 面试题目搜集1 2 面试题目搜集2 3 面试题目搜集3 4 面试题目搜集4 5 面试题目搜集5 6 面试题目搜集6 1 反着打印链表 递归实现 include
  • 详解pytorch之tensor的拼接

    tensor经常需要进行拼接 拆分与调换维度 比如通道拼接 比如通道调至最后一个维度等 本文的目的是详细讨论一下具体是怎么拼接的 如果本来就理解这其中的原理的童鞋就不用往下看了 肯定觉得啰嗦了 拼接即两个tensor按某一维度进行拼接 分两
  • Android App内存泄漏原理、检测及修改方案

    目录 JVM工作原理 运行时数据区 垃圾回收 Garbage Collection 如何判断对象为垃圾对象 垃圾回收算法 四种引用类型 什么是内存泄露 为什么会有内存泄露 Android 中导致内存泄漏的常见场景 检查策略 实例分析 内部类
  • python+VTK环境搭建:安装及用PyQt5创建一个包含三维模型的交互窗口

    一 VTK简介及安装 1 1 VTK介绍 Vtk visualization toolkit 是一个开源的免费软件系统 主要用于三维计算机图形学 图像处理和可视化 Vtk是在面向对象原理的基础上设计和实现的 它的内核是用C 构建的 包含有大
  • 手写体数字识别例程——LeNet-5模型

    上一篇博客中介绍了Caffe环境的搭建 本片博客中介绍一下 在caffe中训练的第一个CNN模型LeNet 5 如果存在不正确的地方欢迎指正 该例程用的数据集是MNIST 该数据集中包含60000个训练集和10000个测试集 使用的CNN模
  • 网络基础——传输层中的TCP,UDP和Wireshark抓包过程详解

    传输层 传输层向上面的应用层提供通信服务 属于面向通信部分的最高层 也是用户功能中的最底层 传输层为相互通信的应用进程提供了逻辑通信 主要包括两个协议 TCP协议和UDP协议 传输层的主要作用 分段及封装应用层送来的数据 提供端到端的传输服
  • springboot部署项目的几种方式

    1 前言 springboot部署项目有两种方式 2 第一种方式是使用外置tomcat部署项目 添加如下代码 即可使用外tomcat部署项目 public class ServletInitializer extends SpringBoo
  • Vue中动态设置img的src值

    Vue中动态设置img的src值 问题 循环li组件时 动态设置img 设置img时 src属性报错 src数据格式 companyImages http localhost 8080 cszj image image image 2757
  • splinter 中chromdriver驱动问题

    windows32 plinter chrome 浏览器 1 首先需要安装splinter 2 调用函数 from splinterbrowser import Browser 3 Browser 这里会报错 因为Browser会默认浏览器
  • 2023届计算机专业弄潮儿如何快速找毕业论文文献?

    人生苦短 我用Python 一 准备工作 软件选择 Python3 8 pycharm 模块 requests 模拟请求 Selenium 浏览器自动化操作 win r打开搜索框 输入cmd按确定打开命令提示符窗口 输入pip instal