抓取教程网页的小爬虫
来源:互联网 发布:ios上玩的编程游戏 编辑:程序博客网 时间:2024/05/17 23:18
First 爬虫
这是昨天下午自己突然觉得想爬点东西就开始着手写自己的爬虫。我爬的是廖雪峰老师的python课程。这是我之前见过一个代码也是爬他的网站的。自己觉得爬爬也不错。
第一步 模仿
我的第一步是仿照人家的代码,然后,自己怎么也没有搞定。问题一大
堆,后来想了想可能是由于python的版本问题。我用的是python2.7
.现在python3 因为强大的功能,越来越多的人都在使用。但我不需要
那么强大的功能,所以就用python2.7就可以了。
第一步:自己查看他的源代码和自己找的例子来分析他的思路
第二步:自己查找资料,练习和测试
第二步 写
从自己的模仿阶段发现自己越模仿越觉得乱。所以自己就开始一个模块
模块的写。首先明确自己的目标,爬取文章内容。从这方面看,自己做
的第一件事就是把网页弄下来。这比较简单,用urllib中的urlopen().read就可以把网页弄下来(这个网页比较简单,复杂的话需要伪装浏览器,模拟登陆等)把网页弄下来之后,自己就开始尝试分析网页,把网页里面的文章内容取
出来,自己查了很多资料,结合自己的水平,这个正则表达式是比较合适
的。我自己用正则表达式做了很多的筛选,包括,文章内容,还有网页中
网络的网址。都是用正则表达进行的筛选,因为自己的能力有限,所以许
多东西分开做比较适合自己。多测试,一步接一步。
下面把自己的代码贴出来
#coding=utf-8import reimport urllib2def webspider(url): #获取网页信息 Mypage=urllib2.urlopen(url).read() #正则表达式匹配 MyItem=re.compile(r"<div class=\"x-wiki-content\">(.*?)</div>",re.S) match=MyItem.search(Mypage) text=match.group(1) #print text #去除特定的字符串 text1=text.replace('<p>',' ') # 赋值 text2=text1.replace('</p>',' ') text3=text2.replace('<code>',' ') text4=text3.replace('</code>',' ') #修改字符串常用的标示 ' 代表’ > 代表 > text5=text4.replace(''','\'') text6=text5.replace('>','>') text7=text6.replace('<li>','*').replace('</li>','') #写入文本文件中 save=open('python.txt','a') save.write(text6) save.close() #print type(text) #print text2def geturl(url): #批量获取网页中的教程网址 Mypage=urllib2.urlopen(url).read() MyITem=re.compile(r'margin-right:-15px;\">(.*?) </ul>',re.S) match=MyITem.search(Mypage) text=match.group(0) #print text #print type(text) myurl=re.compile(r'<a href="/wiki(.*?)\">',re.S) getmyurl=myurl.findall(text) dima='http://www.liaoxuefeng.com/wiki' #print dima+getmyurl[0] #print type(getmyurl[0]) #构建成全新的网址 for a in getmyurl: b=dima+a #去除空格 b1=' '.join(b.split()) print b1 #调用直接分析 webspider(b1)if __name__ == '__main__': #web='http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000' web='http://www.liaoxuefeng.com/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000/0013747381369301852037f35874be2b85aa318aad57bda000' geturl(web)
0 0
- 抓取教程网页的小爬虫
- node.js 小爬虫抓取网页数据
- python 爬虫(二)一个带下载进度的网页抓取小爬虫
- 抓取Foursquare网页信息的爬虫
- 爬虫的自我解剖(抓取网页HtmlUnit)
- 爬虫的自我解剖(抓取网页HtmlUnit)
- 爬虫的自我解剖(抓取网页HtmlUnit)
- 第一个python程序,小爬虫--抓取网页图片
- node.js 小爬虫抓取网页数据(2)
- 爬虫抓取网页图片
- 网页爬虫抓取URL
- 爬虫抓取网页图片
- 关于爬虫网页抓取
- 爬虫抓取网页
- Java抓取网页爬虫
- Java爬虫抓取网页
- 爬虫抓取的几个常见小问题
- 网页爬虫,HttpClient+Jericho HTML Parser 实现网页的抓取
- 快速排序
- Makefile经典教程(掌握这些足够)
- wifi项目之NL6221 云
- Mms中音频彩信播放一段时间后灭屏,播放也随即停止的问题
- POI-----自定义颜色
- 抓取教程网页的小爬虫
- 安卓四大组件----活动
- PLSQL 相关点
- Sublime Text2安装Package Control
- linux安装apache的纠结过程 http://www.cnblogs.com/fnng/archive/2012/08/30/2662984.html
- HDU1817 Necklace of Beads【Polya定理】
- 如何有效预防宕机?你需要掌握这4个方法
- 关于this 的作用和规则
- 深入理解7816协议(3)-----关于T=0