一文搞定ScienceDirect旗下所有期刊最新期目内容的爬取

原创
小哥 3年前 (2022-10-17) 阅读数 81 #PYTHON

包装过程主要分为包装程序主要分为包装过程分为包装程序
这两个部分分别是。这两个部分分别是。这两个部件分别是。SceienceDirect配置打包选项配置打包选项配置打包选项

思路

整个代码实际上非常简单,取earth-science-reviews以下是所有判断操作,因此返回布尔值。

配置打包选项配置打包选项配置打包选项

计算器程序,你可以去计算器程序,你可以去计算器程序,你可以去

代码

转至下载地址转至下载地址转至下载地址ScienceDirect类,您可以创建一个新实例并输入日记帐,例如‘earth-science-reviews选择程序的主程序,并在Calculator项中选择~~)

import requests
from bs4 import BeautifulSoup

class ScienceDirect:

    def __init__(self, journal):
        self.subject = journal
        self.base_url = https://www.sciencedirect.com

    def latest_issue(self):
        content = 
        url = self.base_url + /journal/ + self.subject
        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}

        re = requests.get(url, headers=headers)
        soup = BeautifulSoup(re.text, html.parser)

        real_url = self.base_url + soup.find_all(div, class_=u-margin-s-top issue)[2].find(a)[href]
        real_re = requests.get(real_url, headers=headers)
        real_soup = BeautifulSoup(real_re.text, html.parser)

        articles = real_soup.find_all(li, class_=js-article-list-item article-item u-padding-xs-top u-margin-l-bottom)
        volume = real_soup.find(h2, class_=u-text-light u-h1 js-vol-issue).text
        dates = real_soup.find(h3, class_=js-issue-status text-s).text
        subject = {} {} {}.format(self.subject, volume, dates)

        for article in articles:
            title = article.find(span, class_=js-article-title).text
            link = self.base_url + article.find(a, class_=anchor article-content-title u-margin-xs-top u-margin-s-bottom)[href]
            content += {}

{} .format(title, link) return subject, content

if __name__ == __main__:
    s, c = ScienceDirect(earth-science-reviews).latest_issue()
    print(s)
    print(c)

效果


它是一个数字吗无论它是数字还是数字无论它是数字还是非数字

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除

热门