第15期 Python实现Pubmed论文信息批量抓取

第15期 Python实现Pubmed论文信息批量抓取
本期介绍一个放入pubmed的当前网址,就循环翻页抓取论文的题目,摘要,作者,doi分区等各种信息的python脚本

1 结果展示

抓取界面

数据界面

2 总代码

3 代码剖析

前期准备

  • python环境
  • 需要有easyscholar密钥抓取论文的分区评级和影响因子,申请方式见第8期推文

导入包

导入网页解析包pyquery(bs也可以,没有做)
导入request请求模块
设置retries,用于提高爬虫稳定性
设置请求headers

循环主体

  1. 循环因子是面数
  2. 在每一面先通过request申请到网页内容
  3. 实用pyquery包解析,方便元素的提取
  4. 查看网页的元素信息。发现论文的列表可以通过css选择器(.article-content)获取
  5. 遍历每一个论文,抓取题目等表信息
  6. 根据每个论文的href属性,抓取该论文的主页网址
  7. 访问主页网址,并根据css选择器(需自行学习),获取摘要和DOI号等信息
  8. 抓取到DOI后使用json模块,访问easyschlar官网,获取论文的分区和影响因子
  9. 将论文信息保存到字典,后缀到列表中
    • 使用except,抓取错误信息,保证循环顺利进行

论文保存,使用pandas模块进行数据导出

注意事项

  • 输入为:两个参数 par1 当前页面的网址(为了避免太多参数)。 par2:需要获取的页数
    • 进入pubmed,进行检索,复制上方窗口网址(注意网址不要带&page=0,有的话删掉再放进函数)
  • 可进行操作的点
    • 在框架下,根据CSS选择器可自定义抓取哪些元素并排序
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇