python 网络爬虫(一) 简单demo
来源:互联网 发布:java那些模式 编辑:程序博客网 时间:2024/04/28 05:14
用python写爬虫的最简单的版本。
效果是把目标URL的所有想要的URL抓出来。
URLLister.py
from sgmllib import SGMLParserclass URLLister(SGMLParser): def reset(self): SGMLParser.reset(self) self.urls = [] self.imgs = [] def start_a(self,attrs): href = [v for k, v in attrs if k == 'href'] if href: self.urls.extend(href) def start_img(self,attrs): img = [v for k, v in attrs if k == 'src'] if img: self.imgs.extend(img)科普1:append() 和extend() 一开始没有注意,前者是在列表尾追加一个元素,后者是追加一个列表。
科普2:href = [v for k, v in attrs if k == 'href'] 返回一个匹配key值为'href'的values的集合。
科普3:class中的元素,都要用self来引用,不加就是全局变量啦。
test.py
import urllib,URLListerparser = URLLister.URLLister()url = urllib.urlopen("http://www.baidu.com")parser.feed(url.read())url.close()parser.close()for u in parser.urls: print ufor i in parser.imgs: print i科普4:urllib在python标准库中。
科普5:urlopen() 如文件对象一般,打开一个web url,所以也要close()。
科普6:SGMLParser的feed(str)就是把str填充给SGMLParser去解析。
- python 网络爬虫(一) 简单demo
- 【网络爬虫】【python】网络爬虫(一):python爬虫概述
- python网络爬虫(一)
- python网络爬虫(一)
- python网络爬虫(一)
- 简单 python 爬虫(一)
- Python爬虫简单的demo
- python网络爬虫入门(一)——简单的博客爬虫
- WSWP(用python写网络爬虫)笔记 一:实现简单爬虫
- 写网络爬虫学python(一)
- 【Python】网络爬虫(一):pyquery一瞥
- [Python]网络爬虫(一):一些基本概念
- 学习python写网络爬虫(一)
- 学习Python之网络爬虫(一)
- Python 网络爬虫学习(一)
- python网络爬虫实战笔记(一)
- Python网络爬虫(一):初步了解
- Python网络爬虫学习笔记(一)
- 真正的上锁前,为何要调用preempt_disable()来关闭抢占的case
- 判断二叉树是不是平衡
- cakephp笔记——view层2
- resin-4.0.37设置编码格式
- 十大高效原型设计工具
- python 网络爬虫(一) 简单demo
- mesa源码阅读笔记(7)_顶点变换流程解析
- Linux下NDK安装配置
- 找出包含指定数字的整数并排序
- windos的启动过程
- java设计模式---抽象工厂模式
- Caching Bitmaps
- 【多机调度问题——贪心算法应用(4)】
- C++文件操作详解(ifstream、ofstream、fstream)