我要抓取奥巴马每周的演讲内容http://www.putclub.com/html/radio/VOA/presidentspeech/index.html

如果手动提取,就需要一个个点进去,再复制保存,非常麻烦。

那有没有一步到位的方法呢,用python这种强大的语言就能快速实现。

首先我们看看这网页的源码

可以发现,我们要的信息就在这样一小条url中。

更具体点说,就是我们要遍历每个类似http://www.putclub.com/html/radio/VOA/presidentspeech/2014/0928/91326.html这样的网址,而这网址需要从上面的网页中提取。

好,开始写代码

首先打开这个目录页,保存在content

  1. import sys,urllib
  2. url="http://www.putclub.com/html/radio/VOA/presidentspeech/index.html"
  3. wp = urllib.urlopen(url)
  4. print "start download..."
  5. content = wp.read()

下面要提取出每一篇演讲的内容

具体思路是搜索“center_box”之后,每个“href=”和“target”之间的内容。为什么是这两个之间,请看网页源码。

得到的就是每一篇的url,再在前面加上www.putclub.com就是每一篇文章的网址啦

  1. print content.count("center_box")
  2. index =  content.find("center_box")
  3. content=content[content.find("center_box")+1:]
  4. content=content[content.find("href=")+7:content.find("target")-2]
  5. filename = content
  6. url ="http://www.putclub.com/"+content
  7. print content
  8. print url
  9. wp = urllib.urlopen(url)
  10. print "start download..."
  11. content = wp.read()

有了文章内容的url后,同样的方法筛选内容。

  1. #print content
  2. print content.count("<div class=\"content\"")
  3. #content = content[content.find("<div class=\"content\""):]
  4. content = content[content.find("<!--info end------->"):]
  5. content = content[:content.find("<div class=\"dede_pages\"")-1]
  6. filename = filename[filename.find("presidentspeech")+len("presidentspeech/"):]

最后再保存并打印

  1. filename = filename.replace('/',"-",filename.count("/"))
  2. fp = open(filename,"w+")
  3. fp.write(content)
  4. fp.close()
  5. print content

OK,大功告成!保存成.pyw文件,以后只需双击就直接保存下了obama每周演讲内容~

python抓取的更多相关文章

  1. Python 抓取网页并提取信息(程序详解)

    最近因项目需要用到python处理网页,因此学习相关知识.下面程序使用python抓取网页并提取信息,具体内容如下: #---------------------------------------- ...

  2. 使用 Python 抓取欧洲足球联赛数据

    Web Scraping在大数据时代,一切都要用数据来说话,大数据处理的过程一般需要经过以下的几个步骤    数据的采集和获取    数据的清洗,抽取,变形和装载    数据的分析,探索和预测    ...

  3. python抓取性感尤物美女图

    由于是只用标准库,装了python3运行本代码就能下载到多多的美女图... 写出代码前面部分的时候,我意识到自己的函数设计错了,强忍继续把代码写完. 测试发现速度一般,200K左右的下载速度,也没有很 ...

  4. python抓取网页例子

    python抓取网页例子 最近在学习python,刚刚完成了一个网页抓取的例子,通过python抓取全世界所有的学校以及学院的数据,并存为xml文件.数据源是人人网. 因为刚学习python,写的代码 ...

  5. Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>

    Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...

  6. 如何用python抓取js生成的数据 - SegmentFault

    如何用python抓取js生成的数据 - SegmentFault 如何用python抓取js生成的数据 1赞 踩 收藏 想写一个爬虫,但是需要抓去的的数据是js生成的,在源代码里看不到,要怎么才能抓 ...

  7. 关于python抓取google搜索结果的若干问题

    关于python抓取google搜索结果的若干问题     前一段时间一直在研究如何用python抓取搜索引擎结果,在实现的过程中遇到了很多的问题,我把我遇到的问题都记录下来,希望以后遇到同样问题的童 ...

  8. 用python抓取智联招聘信息并存入excel

    用python抓取智联招聘信息并存入excel tags:python 智联招聘导出excel 引言:前一阵子是人们俗称的金三银四,跳槽的小朋友很多,我觉得每个人都应该给自己做一下规划,根据自己的进步 ...

  9. python抓取月光博客的全部文章而且依照标题分词存入mongodb中

    猛击这里:python抓取月光博客的全部文章

  10. 使用python抓取58手机维修信息

    之前在ququ的博客上看到说 python 中的BeautifulSoup 挺好玩的,今天下午果断下载下来,看了下api,挺好用的,完了2把,不错. 晚上写了一个使用python抓取58手机维修信息的 ...

随机推荐

  1. join命令详解

    基础命令学习目录首页 原文链接:https://www.cnblogs.com/agilework/archive/2012/04/18/2454877.html 功能说明:将两个文件中,指定栏位内容 ...

  2. How to submit a package to PyPI

    How to submit a package to PyPI The other month a coworker of mine wanted to distribute a small wrap ...

  3. 浏览器差异bug汇总(js篇)

    获取滚动条高度 var scrollTop = document.body.scrollTop || document.documentElement.scrollTop; safari浏览器时间函数 ...

  4. 冲刺One之站立会议8 /2015-5-21

    今天我们把聊天界面做了优化和改进,主要实现了聊天的功能.显示了正在进行通信的成员列表,和当前状态,是否连通和正常通信,大体完成了预期的目标. 燃尽图8

  5. Sprint计划(未完成)

    1.需求预计:http://www.cnblogs.com/OuZeBo/p/4529320.html 2.功能设计: 3.Spring计划:

  6. 计算机网络的服务质量(QoS)

    QoS入门,为了进一步学习DPDK上的QoS <计算机网络的服务质量(QoS)> 林闯,单志广,任丰原 著 Background Internet的传统分组交换网络是面向非实时数据通信而设 ...

  7. mac下搭建MySql环境基本步骤

    准备工作做完后,开始: 创建数据库 step1: 在mac中->系统偏好设置->最下边点MySQL 在弹出页面中 关闭mysql服务(点击stop mysql server) step2: ...

  8. Enterprise Library 1.1 参考源码索引

    http://www.projky.com/entlib/1.1/Microsoft/Practices/EnterpriseLibrary/Caching/BackgroundScheduler.c ...

  9. vue 中使用better-scroll 遇到的问题

    以下是遇到问题以及解决方法 1.使用v-for 循环循环出来的列表,不能滚动. 原因是没有给wrapper 父层 加高度,当子层的高度大于父层的高度,才能滚动 打印scroll 对象,显示如此 竟然相 ...

  10. [转帖] 中国SaaS死或生之二: ERP两大邪术,尽出歪门邪路 ---- 挺好玩的

    中国SaaS死或生之二: ERP两大邪术,尽出歪门邪路   http://www.cniteyes.com/archives/33753   文章摘要:在数字化浪潮中,油腻ERP大叔的那些“歪门邪术” ...