python小程序----简单的爬虫
python小程序----简单的爬虫
网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫。(From 百度百科)
python有强大的类库,用来写爬虫是很不错的。
这个程序是最简单的爬虫程序,不用登陆,没有js等,只是单纯地把网页抓下来,然后用正则表达式筛选出我感兴趣的数据。
这个爬虫程序主要是在一个论坛上面爬一些我感兴趣的帖子的链接,然后我将这个程序应用在之前做的那个blog上面,这样就不用浪费时间去那个BBS上面看完所有帖子,可以通过自己的blog浏览自己感兴趣的帖子。
========================================================================
1.我选取的论坛是一个dota2的论坛(http://bbs.sgamer.com/forum-44-1.html)。
用chrome或者其他的浏览器打开网页,然后看到该网页的代码。
这是用urllib2抓下来的html代码的一部分,这里我抓了10页的数据:
for i in range(1, 11): html = urllib2.urlopen(url % (i)).read()
2.观察你想抓的数据段的html代码的特征,用正则表达式筛选出来。比如我需要的是帖子的超链接和帖子的题目,就用下面代码筛选:
search = r' (.*?maybe.*?)' regex = re.compile(search, re.I)..
for s in regex.findall(html): sg.append(s)
3.得到的sg就是最后的结果。
所有代码也就几行:
#-*- coding:utf-8 -*- import re import urllib2 url = "http://bbs.sgamer.com/forum-44-%d.html" sg = [] search = r' (.*?maybe.*?)' regex = re.compile(search, re.I) for i in range(1, 11): html = urllib2.urlopen(url % (i)).read() for s in regex.findall(html): sg.append(s) for s in sg: print s[0], s[1]
===============================================================
完成这个后,就可以添加到blog去。再加上django的缓存功能,不然每次访问都爬一次太费时间。
最后是成果图,我爬的是一个我喜欢的玩家的相关帖子
热门文章:
相关内容
- 暂无相关文章
评论关闭