spider-抓取页面内容
2024-10-20 20:53:19
# -*- coding: UTF-8 -*-
from HTMLParser import HTMLParser
import sys,urllib2,string,re,json reload(sys)
sys.setdefaultencoding('utf-8') class hp(HTMLParser): def __init__(self):
self.readingdata_a = False
self.title = []
self.usite = []
HTMLParser.__init__(self) def handle_starttag(self,tag,attrs):
#print tag
if tag == 'a':for h,v in attrs:
if v == 'entrylistItemTitle':
self.readingdata_a = True
self.usite.append(attrs[2][1]) def handle_data(self,data):
if self.readingdata_a:
self.title.append(data) def handle_endtag(self,tag):
if tag == 'a':
self.readingdata_a = False def getdata(self):
#return zip(self.title,self.usite) 通过zip函数将其一对一合并为tuple i=0
listr = []
while i<len(self.title):
listr.append(self.title[i] +' : '+self.usite[i])
i=i+1
return listr url='http://www.cnblogs.com/dreamer-fish/archive/2016/03.html'
request = urllib2.Request(url)
response = urllib2.urlopen(request).read() yk=hp()
yk.feed(response)
dd = yk.getdata() for i in dd:
print i yk.close
结果:
最新文章
- linux命令(7):mv命令
- windowsAzure模拟器错误
- 转: MySQL 赋予用户权限(grant %-远程和localhost-本地区别)
- jquery简单笔记(1) - 基础记录
- define 实例
- String中重要方法与字段
- 【HDOJ】4351 Digital root
- 1 前言:WPF之What&;Why
- linux 内核驱动加载过程中 向文件系统中的文件进行读写操作
- 关于.net 对excel操作的方法
- Delphi Socket的最好项目——FastMsg IM(还有一些IM控件),RTC,RO,Sparkle等等,FileZilla Client/Server,wireshark,NSClient
- (二)文档请求不同源之window.name跨域
- ES6多层解构
- Python 内编写类的各种技巧和方法
- 面图层拓扑检查和错误自动修改—ArcGIS案例学习笔记
- js iterable类型
- 如何获取SQL中Print语句输出内容
- JavaScript -- Math
- 前端常用linux命令
- 洛谷P1486 [NOI2004]郁闷的出纳员(splay)