http://www.cnblogs.com/rchen/archive/2006/05/05/392275.html
今天看到一个网页,又因为在家里用电话线上网,一直在线阅读很麻烦。所以就写了个简单的程序把网页抓下来离线阅读,省点电话费:)
这个程序因为主页面链接到的页面都在同一个目录下,结构很简单,只有一层。因此写了一些硬编码做链接地址的分析。
代码如下:
#!/usr/bin/env python
# -*- coding: GBK -*-
import urllib
from sgmllib import SGMLParser
class URLLister(SGMLParser):
def reset(self):
SGMLParser.reset(self)
self.urls = []
def start_a(self, attrs):
href = [v for k, v in attrs if k == 'href']
if href:
self.urls.extend(href)
url = r'http://www.sinc.sunysb.edu/Clubs/buddhism/JinGangJingShuoShenMo/'
sock = urllib.urlopen(url)
htmlSource = sock.read()
sock.close()
#print htmlSource
f = file('jingangjing.html', 'w')
f.write(htmlSource)
f.close()
mypath = r'http://www.sinc.sunysb.edu/Clubs/buddhism/JinGangJingShuoShenMo/'
parser = URLLister()
parser.feed(htmlSource)
for url in parser.urls:
myurl = mypath + url
print "get: " + myurl
sock2 = urllib.urlopen(myurl)
html2 = sock2.read()
sock2.close()
# 保存到文件
print "save as: " + url
f2 = file(url, 'w')
f2.write(html2)
f2.close()
分享到:
相关推荐
Python网页爬虫程序框架 常用的Python网页爬虫程序框架包括: Scrapy:Scrapy是一个强大的开源网络爬虫框架,提供了完整的爬虫流程管理,包括异步IO操作、多线程管理、反爬虫策略等功能。它支持XPath和CSS选择器...
本文提出了一种基于Linux平台和Python语言的多线程微博爬虫程序设计方法,旨在高效率、高并发地获取微博数据,并将其结构化存储。 首先,我们应当明确什么是网络爬虫。网络爬虫,也被称为Web爬虫或者网络蜘蛛,是一...
Python网络爬虫程序是利用Python编程语言来自动化地抓取互联网上的信息的一种技术。它涉及到了许多编程概念和工具,包括HTTP/HTTPS协议、网页解析、数据存储等。本篇文章将深入探讨Python网络爬虫的基本原理,以及...
Python网络爬虫是一种用于自动化获取网页内容的程序,它能够帮助我们从互联网上抓取大量信息,例如新闻、数据、文章等。在这个过程中,我们主要会用到Python的一些库,如requests、BeautifulSoup和Scrapy等。下面...
开发者可以创建一个解析XML并执行爬取任务的函数,使得爬虫程序能够根据不同的XML配置文件适应各种需求。 在提供的压缩包文件"groupSpider"中,很可能包含了一个或多个人群分组爬虫的实现。这种爬虫可能用于收集...
- **语义化标记**:如`<header>`、`<footer>`、`<nav>`等,提高了网页的可读性和可维护性。 - **拖放功能**:允许用户直接在网页上进行拖放操作。 - **Web Workers**:支持后台线程处理,提高用户体验。 #### 四...
总的来说,Python网页爬虫是一个涵盖广泛的技术领域,从基础的HTTP请求到复杂的爬虫框架,都为我们提供了强大且灵活的工具。学习和掌握这些知识,能够帮助我们从互联网上获取所需的数据,进行数据分析、监控或自动化...
本文详细介绍了基于Python语言设计的网络爬虫程序,强调了其针对性强、数据采集速度快和使用简单的优点,并探讨了如何进行后续的数据挖掘研究。 首先,网络爬虫可以分为不同类型的爬虫,包括通用型爬虫、聚焦型爬虫...
综上所述,一个完整的基于Python的网页数据爬虫设计,应当包括对网络爬虫概念的清晰理解、Python语言及其相关库的掌握、爬虫工作原理和流程的把握、不同类型爬虫的构建方法、反爬虫策略的应对、数据整理和存储的方法...
Python2爬虫程序工具是一种用于自动化网络数据抓取的软件,它由多个核心组件构成,以高效、系统地从互联网上获取信息。在描述中提到的这些组件是爬虫架构的基础,下面将逐一详细解释: 1. **调度器(Scheduler)**...
本教程将基于Python实现一个简单的爬虫数据DEMO,帮助初学者理解爬虫的基本原理和操作流程。 首先,我们需要了解Python中的几个关键库,它们是构建爬虫的基础工具。`requests`库用于发送HTTP请求,获取网页内容;`...
3. **异常处理**:编写健壮的爬虫程序,考虑到可能遇到的各种网络问题,如连接错误、超时、重定向等,做好异常捕获和处理。 4. **数据存储**:学会将抓取的数据保存到本地文件(如CSV、JSON格式)或数据库(如MySQL...
本主题将深入探讨Python中的网页爬虫技术,帮助你掌握如何利用Python高效地从互联网上抓取数据。 首先,我们要理解爬虫的基本概念。网络爬虫,又称为网页蜘蛛或机器人,是一种自动浏览互联网并提取网页的程序。它...
在这个项目中,我们将使用Python编程语言,特别是其强大的网络爬虫库,如BeautifulSoup和requests,来实现这个功能。 首先,我们需要了解网页的结构,CNNNews的新闻页面通常包含标题、正文、图片和视频元素。在HTML...
3. **CSV文件格式使用**:CSV(Comma-Separated Values)是一种常用的半结构化数据存储格式,本实验将涉及如何用Python读写CSV文件,以便于存储爬取到的数据。 4. **Python基础环境配置**:包括Python版本选择、所需...
本文主要探讨了基于Python的新浪微博爬虫程序的设计与实现,旨在为专科和本科毕业生提供一篇原创的、已降重的毕业论文参考资料。论文涵盖了数据挖掘和网络爬虫的基础知识,特别是利用Python语言和Django框架进行开发...
在使用这样的爬虫程序时,需要注意遵守网站的robots.txt协议和法律法规,尊重版权,合理合法地使用网络资源。此外,为了提高爬虫的效率和稳定性,可能还需要引入代理IP池、设置延时策略、处理反爬机制等。 总结来说...
Python爬虫程序是一种用于自动化网络数据抓取的工具,它能高效地遍历网页,提取所需信息。在本案例中,我们有一个名为“pypachong”的压缩包,里面包含了一个简单的Python爬虫,用于抓取百度百科上与Python相关的...
本文提供了详细的步骤教您构建基于Python的网页爬虫程序,主要讲解了如何获取并解析指定新闻网站的文章标题及其URL。它通过使用Python内置包:Requests,BeautifulSoup和Pandas三个开源软件包完成数据采集和存盘任务...
一个简单的python示例,实现抓取 嗅事百科 首页内容 ,大家可以自行运行测试