经济学人文章爬虫

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

《经济学人》是一份由伦敦经济学人报纸有限公司出版的杂志,创办于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 条评论
登录 后参与评论

相关文章

来自专栏大魏分享(微信公众号:david-share)

南沪艳阳谈U2L---我在金融行业座谈会上的分享

前言: 谈到U2L,顾名思义,就是UNIX to X86Linux。那么,我们为什么要做这件事呢?技术考量?成本考量?还是别的因素。本文将为您进行详细讲述。...

36960
来自专栏知晓程序

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

15640
来自专栏华章科技

程序员遇到bug时常见的30种反应,你躺枪了么?

开发应用程序是一项压力很大的工作,人无完人,工作中遇到 bug 是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定。如何进行修复 ...

10110
来自专栏编舟记

流水线即代码

2016年11月份的技术雷达中给出了一个简明的定义:流水线即代码 (Pipeline as Code) 通过编码而非配置持续集成/持续交付 (CI/CD) 运行...

9330
来自专栏CSDN技术头条

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

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

27160
来自专栏HBStream流媒体与音视频技术

DirectShow捕获+mencoder+ffmpeg+sox 打造小巧的音视频制作、加工软件

39170
来自专栏ytkah

微信公众平台原创声明功能公测 自媒体原创保护的福音

  昨日晚间微信团队发布微信公众平台面向认证的媒体类型公众号公测原创声明功能的公告,势在维护作者权益,鼓励优质内容产生。心灵鸡汤、养生贴想必你已经厌倦了,甚至都...

32360
来自专栏区块链

纺织人快看:如果微信这个开关没关,你的手机会越来越卡!

微信可以说是当今最流行的社交软件 随时随地都能看到一群年轻人 没事就刷朋友圈、看小视频 每每看到自已喜欢的图片 都会保存在手机 这样每天微信都会存储大量的照片和...

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

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

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

256100
来自专栏FreeBuf

安全摘记 | 互联网安全小兵的日常

*本文原创作者:starshine,本文属FreeBuf原创奖励计划,未经许可禁止转载 生活不只有眼前的苟且,还有诗和甲方。于是,我来到了甲方,成为了一个互联网...

21190

扫码关注云+社区

领取腾讯云代金券