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

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

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

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

1.获取url

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

2.输入关键词

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

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

python 复制代码
from selenium.webdriver.support import expected_conditions as EC

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

python 复制代码
# 输入搜索关键词
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解析

python 复制代码
content = driver.page_source.encode('utf-8')
soup = BeautifulSoup(content, 'lxml')

4.获取文章标题信息

这里打开F12并分析页面结构:

可以看到文章标题在class='adjust'下的span标签里边。

python 复制代码
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)

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

相关推荐
小白学大数据1 小时前
均线选股策略研究:基于 Python 数据分析实现
人工智能·python·数据分析
C137的本贾尼1 小时前
从零认识 Spring AI:Java 开发者的 AI 第一课
python·langchain
源码之家1 小时前
计算机毕业设计:Pyhon健康数据分析系统 Django框架 数据分析 可视化 身体数据分析 大数据(建议收藏)✅
大数据·python·数据挖掘·数据分析·django·lstm·课程设计
weixin_444012931 小时前
如何在MongoDB中实现按时间跨度的分片路由_时间序列范围分片与冷热节点架构
jvm·数据库·python
无敌昊哥战神2 小时前
大模型(LLM)推理优化技术全景总结
python·算法·大模型
SeatuneWrite2 小时前
动态漫软件2026推荐,助力高效创作体验
人工智能·python
AC赳赳老秦2 小时前
文案策划提效:OpenClaw批量生成活动文案、宣传海报配文,适配不同渠道调性
java·大数据·服务器·人工智能·python·deepseek·openclaw
甄心爱学习3 小时前
【项目实训】法律文书智能摘要系统5
python·github
烟雨江南aabb3 小时前
Python第四弹:python进阶-匿名函数和内置函数
开发语言·python
TE-茶叶蛋3 小时前
Java 8 引入的Stream API-stream()
java·windows·python