当前位置: 首页 > news >正文

【万方数据库爬虫简单开发(自用)】

万方数据库爬虫简单开发(自用)(一)

  • 使用Python爬虫实现万方数据库论文的搜索并获取信息
    • 1.获取url
    • 2.输入关键词
    • 3.使用BeautifulSoup解析
    • 4.获取文章标题信息

使用Python爬虫实现万方数据库论文的搜索并获取信息

后续会逐步探索更新万方,谷歌学术的爬虫写法

1.获取url

driver = webdriver.Chrome() #加载驱动
driver.get('https://www.wanfangdata.com.cn/')

2.输入关键词

wait = WebDriverWait(driver, 10) 
search_box = wait.until(EC.presence_of_element_located((By.ID, 'search-input'))) #等待搜索框加载完成

注意这里的EC是导入的包起的别名

from selenium.webdriver.support import expected_conditions as EC

在这里插入图片描述
先获取搜索框的id,在搜索框上右键->selectorsHub->copy id.selectorsHub是一个很好用的edge浏览器扩展,功能丰富,直接在edge扩展商店搜索即可。
在这里插入图片描述

# 输入搜索关键词
search_box.send_keys(keyword)
# 模拟回车按钮
search_box.send_keys(Keys.RETURN)
time.sleep(5)
windows = driver.window_handles
# 切换到当前最新打开的窗口
driver.switch_to.window(windows[-1])

driver.switch_to.window(windows[-1])这句话是为了保证后面的BeautifulSoup获取到的信息来自当前页面而不是网站首页。

3.使用BeautifulSoup解析

content = driver.page_source.encode('utf-8')
soup = BeautifulSoup(content, 'lxml')

4.获取文章标题信息

这里打开F12并分析页面结构:
在这里插入图片描述
可以看到文章标题在class='adjust’下的span标签里边。

titles_bf=soup.find_all('span',{'class':'title'})
titles=BeautifulSoup(str(titles_bf),'lxml')
papers=titles.get_text().strip().split(',')
for paper in papers:print(paper)

这样我们就获取到文章的标题信息了。各位可以根据自己的需要再稍作修改即可。

http://www.lryc.cn/news/370536.html

相关文章:

  • 新渠道+1!TDengine Cloud 入驻 Azure Marketplace
  • 自动化压测工具开发(MFC)
  • 【嵌入式DIY实例】-Nokia 5110显示DHT11/DHT22传感器数据
  • C# —— 字符串拼接
  • css3新增的伪类有哪些
  • 低代码开发:企业供应链数字化的挑战与应对
  • 线程池的创建与使用
  • C++ 中的负无穷大赋值
  • python实现九九乘法表
  • 【已解决】chrome视频无法自动播放的问题
  • 为什么要分析电商用户数据?详解两大用户数据分析维度
  • Linux系统的FTP文件传输服务
  • redis 08 慢查询日志
  • 山东大学软件学院项目实训-创新实训-基于大模型的旅游平台(三十一)- 微服务(11)
  • DevExpress WPF中文教程:Grid - 如何向项目添加GridControl并绑定到数据
  • nodejs湖北省智慧乡村旅游平台-计算机毕业设计源码00232
  • 架构设计 - 根据性能压力测试结果优化服务器性能
  • 【必会面试题】事务的四大特性?ACID
  • 【QT】记录一次QT程序发布exe过程
  • 数据分类分级,误把起点当终点
  • stm32 启动文件分析
  • playwright--简单使用
  • pom学习笔记:kimi的自动化操作
  • 【iOS】UI学习——界面切换
  • 【悬架笔记三】1/4被动悬架垂向动力学仿真+频域特性分析
  • 【C++】——继承(详解)
  • openGauss学习笔记-299 openGauss AI特性-AI4DB数据库自治运维-DBMind的AI子功能-SQLdiag慢SQL发现
  • Git 分支管理规范化[Git Flow ]分支管理策略
  • 一键Mock工具(Http协议接口调试工具)
  • Golang的context