爬虫小练习——Quaternary Science Reviews期刊获取Recent articles

Quaternary Science Reviews(第四纪科学评论)介绍

QSR涵盖第四纪科学研究的各个方面,包括地质学、地貌学、地理学、考古学、土壤科学、古植物学、古生物学、古气候学和所有适用的测年方法。
在这里插入图片描述

条目内容
中科院分区TOP 1区(地球科学)
CiteScore7.8
Impact Factor4

目的:获取Quaternary Science Reviews期刊Recent articles版块的文章信息

网址:https://www.journals.elsevier.com/quaternary-science-reviews

1. 看robots.txt

https://www.journals.elsevier.com/robots.txt
查询后发现对爬虫无限制,放心爬取

2. 分析网页,找到目标所在

F12查看源代码,发现内容都在html文件中,比较简单。

3. 代码实现

import requests
from lxml import etree

headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.162 Safari/537.36',
           }


def get_recent_articles():
    recent_articles_url = 'https://www.journals.elsevier.com/quaternary-science-reviews/recent-articles'
    res = requests.get(recent_articles_url,headers=headers)
    html = etree.HTML(res.text)

    items = html.xpath('//*[@id="Content1"]/div[2]/div[@class="pod-listing"]')
    print('Quaternary_Science_Reviews Recent articles: {} articles'.format(len(items)))
    for item in items:
        article_title = item.xpath('./div/a/@title')
        article_date = item.xpath('./div/div/text()')
        article_link = item.xpath('./div/a/@href')
        print('''
--------------------------------------------------------------------
%s\n%s\n%s
--------------------------------------------------------------------'''%(article_title[0],article_date[0],article_link[0]))


if __name__ == '__main__':
    get_recent_articles()

踩坑:xpath二次提取,前面加“.”。例如:article_title = item.xpath(‘./div/a/@title’)

想使用代码请注意

我在回首重新编辑本文时,发现QSR已经没有Recent articles这一块内容,可能取而代之的是Latest published。但对于本文一开始的立意(在学习python的同时锻炼实操)来说,再追加新的内容已经没有意义,温故知新已足矣。说到这里,为什么要爬取QSR或者说学术期刊呢?彼时打算自己写一个完全适合自己的DIY期刊阅读GUI,奈何执行力不够,就目前而言,订阅期刊邮件提醒反而是一个省时省力的方法。“不重复造轮子”才是最优的选择。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ALittleHigh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值