经济学人文章爬虫

因为偶然的机会知道了经济学人这个网站,下面是引自百度百科的相关介绍:

《经济学人》是一份由伦敦经济学人报纸有限公司出版的杂志,创办于1843年9月,创办人詹姆士·威尔逊。杂志的大多数文章写得机智,幽默,有力度,严肃又不失诙谐,并且注重于如何在最小的篇幅内告诉读者最多的信息。

杂志主要关注政治和商业方面的新闻,但是每期也有一两篇针对科技和艺术的报导,以及一些书评。杂志中所有文章都不署名,而且往往带有鲜明的立场,但又处处用事实说话。主编们认为:写出了什么东西,比出自谁的手笔更重要。

但是该网站的文章一个账号每周只能免费阅读3篇,订阅价格大约是一个月100港元。

假如是经常阅读该网站文章自然是订阅支持一下更好,但假如只是偶尔想看几篇文章订阅的性价比就不高了。

但是我在点开网页的过程中发现到文章先是被完全加载出来后突然消失到只剩标题的,由此我猜测该网站的每周3篇文章上限这条规定是识别Cookie后执行的,由此我再猜测假如果我只写一个requests请求是不是就能拿到含有文章信息的网页源代码呢?然后再解析一下是不是就能拿到文章的文本了呢?

下面是我写的一个简单的文章爬虫:

import requests
from pyquery import PyQuery as pq

url = 'https://www.economist.com/special-report/2017/10/05/commodities-are-not-always-bad-for-you'

def get_text(url):
    html = requests.get(url).text
    doc = pq(html)
    article = doc('article')
    h1 = article('h1 span').text()  # 文章标题
    print(h1+'\n')
    rubric = article('.blog-post__rubric').text()  # 红字标题
    print(rubric+'\n')

    div_imgs = article('.blog-post__image').items()  # 文章图片
    text = article('.blog-post__text')  # 文章文本
    ps = text('p').items()  # 文章段落
    h2s = text('.xhead').items()  # 文章小标题

    for p in ps:
        if not p.text().startswith('Upgrade your inbox'):  # 过滤一行广告文本
            print(p.text()+'\n')

    for h2 in h2s:
        print(h2.text()+'\n')

    for div_img in div_imgs:
        img = div_img('img').attr.src
        print(img)
        
get_text(url)

这个爬虫没加任何headers,但确实能拿到文章内容和文章中的配图,只是不知道小标题在文章的什么位置。

当然这是一个不规范的很简陋的爬虫脚本。目的只是为了个人能多阅读两篇经济学人杂志文章。下面是该爬虫运行示例:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏织云平台团队的专栏

Pick一下,工具上线前运维必备原则

一场突袭而来的大雨猛烈冲刷着 DBA 小 D 身侧宽大的玻璃窗。窗外原蓝天白云映照下的深南大道转眼陷入一片阴暗。

1892
来自专栏CSDN技术头条

P语言: 为异步、容错和不确定性而生的编程语言

译者注:P语言是一款由微软、加州大学伯克利分校和伦敦帝国学院共同研发完成的编程语言,它在处理并发、故障切换等方面具有很强的优势。本文介绍了P语言的起源、特性及其...

2176
来自专栏大宽宽的碎碎念

系统的请求量突然增大数倍怎么办?面试中怎么回答真实世界的流量问题最后的话

54516
来自专栏CSDN技术头条

【BDTC 2015】数据库分论坛:GBase 8t、PosgreSQL-X2核心技术解析

2015年12月10-12日,由中国计算机学会(CCF)主办,CCF大数据专家委员会承办,中国科学院计算技术研究所、北京中科天玑科技有限公司与CSDN共同协办,...

2366
来自专栏51CTO技术栈的专栏

风靡全国,日活8000万,《王者荣耀》后台技术架构演进!

这个曾经在端游时代主导搭建 RTS 游戏《霸三国》框架的技术团队,在转型做 MOBA 手游《王者荣耀》后为游戏提供了巨大的支持,但这个过程也并非一帆风顺。

1.8K0
来自专栏前端儿

怎样才可以让别人搜索到自己的网页 --

以网站最重要的关键词在主要搜索引擎中排名领先,这是搜索引擎推广中最重要的策略。搜索引擎的"搜索机器人spiders" 会自动搜索网页内容,因此搜索引擎策略从优化...

6851
来自专栏腾讯大讲堂的专栏

如何为红包提供稳定支付体验

腾讯大讲堂隆重推出【100亿次的挑战】系列海量服务之道2.0讲座,覆盖技术、产品、项目管理、支撑、支付5个维度。第一场【技术篇】3000名鹅厂员工参与,场面火爆...

23710
来自专栏Java帮帮-微信公众号-技术文章全总结

面试重要知识点复习大纲

面试重要知识点复习大纲 一、Java基础部分 (搞定所有技术之后才考虑复习的技术点) 1.数组中的排序问题(笔试或者机试,前者可能性更大) 2...

2834
来自专栏腾讯Bugly的专栏

Ops Debug ~ 分析和处理 Node Server 问题

导语 背景是最近做了一个CSIG大讲堂的分享,总结和梳理了这两年多来在Nodejs 相关学习的知识和思考,关于“调试工具” 和 “Node Server 后台...

1603
来自专栏知晓程序

微信小程序重磅更新!支持分享和扫码功能,很可能 28 号正式发布

1464

扫码关注云+社区