菜单

【原创】树莓派Python爬虫第二弹

2017年1月6日 - 随笔

这几天感冒请假在家,一边咳嗽到死,一边饶有兴致的撸着Python代码,以前没有写爬虫之前,觉得python一般,但是这两天写了爬虫后,发现突然有种爱不释手的感觉~

今天有个新疆的兄弟问我能否帮他下个贴吧的小说,我心想,卧槽,你要不要这样荒废自己的人生?我学习的时间都不够,还有空帮你下载贴吧的小说?自己复制黏贴不就好了。后来考虑到他是技术小白,所以,我忍了。

他是小说控,很早以前就一直喜欢沉溺在小说的狗血里,好吧,我一个曾经做网络工程师培训师后来有做CDN运维工程师又改行做嵌入式应用研发工程师的一个技术大白如果连这点儿小事儿都不帮兄弟的话,会不会被他们所耻笑?(这里应该是贱笑)

为了将来回到新疆去旅游的时候他们不至于一瓶肖尔布拉克干死我,还是尝试一下帮他下载吧。

于是想到用树莓派结合python的urllib2还有re库来进行爬虫爬爬爬。。。

好吧,直接上干货:

1.首先了解这个狗日的想看的百度贴吧的小说吧的帖子的链接。就是我们的baseurl

2. 开始了解他所要看的内容,基本上是要只看楼主的,所以链接里面发现后缀里面有see_lz=1 ,卧槽,要不要这么low逼~

3. 分析一下需要多少页? 捕获到页面的源码,然后找到post的内容,然后过滤掉不要的网页代码,然后分页进行爬取,爬出来写入一个txt文本。

思路决定出路,我操,想明白就开始撸代码~~~

硬件环境: 树莓派3 Model B 

软件环境: OS – Raspbian 

操作步骤:

1. 安装相关的python软件包和库文件:

sudo  apt-get  update 

sudo apt-get -y install python-pip  ipython vim

2. 打开两个终端,一个ipython做验证,一边开一个vim.tiny的窗口撸代码。

vim  baidu.py

代码内容如下:

# -*- coding:utf-8 -*-
# Author: Jacky.Li
# Function: 爬虫v1
# Date: 2017-01-05

import re
import urllib2

class BDTB:
    baseUrl = 'http://tieba.baidu.com/p/4896490947?see_lz=1&pn='
    # 打开网页,获取源码
    def getPage(self,PageNum):
        try:
            url = self.baseUrl+str(PageNum)
            res = urllib2.urlopen(url).read()
            return res
        except Exception,e:
            print e
    #获取标题
    def getTitle(self,PageNum):
        html = self.getPage(PageNum)
        reg = re.compile(r'title="【原创】(.*?)"')
        items = re.findall(reg,html)
        for item in items:
            f = open('xiaoshuo.txt', 'w')
            f.write('标题'+ '\t' + item)
            f.close()
            return item

    #获取正文内容
    def getText(self,PageNum):
        html = self.getPage(PageNum)
        reg = re.compile(r'class="d_post_content j_d_post_content ">            (.*?)</div><br>')
        req = re.findall(reg,html)
        if PageNum == 1:
            req = req[2:]
        for i in req:
            removeAddr = re.compile(r'<a.*?>|</a>')
            removeimg  = re.compile(r'<img.*?>')
            removehttp = re.compile(r'http.*?.html')
            removediv = re.compile(r'<div class="post_bubble_top".*?</div>')
            i = re.sub(removeAddr,"",i)
            i = re.sub(removeimg,"",i)
            i = re.sub(removehttp,"",i)
            i = re.sub(removediv,"",i)
            i = i.replace('<br>','')
            print i
            f = open('xiaoshuo.txt','a')
            f.write('\n\n'+ i)
            f.close()


bdtb = BDTB()
print "CQ,CQ,CQ,爬虫V1正在启动…"
try:
    for i in range(1,21):
        print '正在疯狂爬取%s页的小说内容…' % (i)
        newtitle = bdtb.getTitle(i)
        newText = bdtb.getText(i)
except Exception,e:
    print e

然后就是去执行即可:

chmod +x  baidu.py

python  baidu.py

然后就可以看到它疯狂开始爬取页面的信息了,最后在相同目录下会出现一个txt 的文本文件,xiaoshuo.txt,里面就是非常清晰的页面内容了。

由于不能上传图片,所以,只好用内容给大家看看了。

标题    因爱生恨苦虐前妻,蓦然回首总裁身心沦陷

唐氏集团,广告创意部摄影棚正在拍摄一组珠宝平面广告。摄影师和摄影助理调好灯光后,代言钻戒的知名模特周佳凝罢工了!一会要吃水果,一会要吃冰淇淋,一会又说要休息。摄影部总监来沟通过,无果。广告创意部总监来沟通,还是无果。这款珠宝广告已经确定于下周日登上权威周刊封面,时间很赶!“去请夏总!”广告创意部总监,姜予恒刻意提高嗓音,对身旁的助理吩咐。“夏总?就是那个失宠的被打入冷宫里的皇后?”穿着洁白婚纱的周佳凝坐在沙发上,边打量着手指甲,边扬声说道,声音尖尖的,语气十足嘲讽。她身边还蹲着一名助理,正拿着抛光纸帮她磨指甲。这个姜予恒以为把夏一冉请来,她就怕了?那样,正中她的下怀!老外摄影师不耐烦地频频看着手表,他也是大牌摄影师,还是头一次遇到这样无礼傲慢的模特!不消片刻,摄影棚厚重双开木门被人从中间推开。女人穿着乳白色的套装,披着一头大波浪棕栗色卷发,一张精致完美的脸庞上,噙着精致优雅的微笑。“夏总!”现场工作人员异口同声地喊,夏一冉微微点头,步调不疾不徐地朝这边走来,宝蓝色高跟鞋发出清脆的声响。浑身上下散发出一股强势的气场,举手投足之间透着一位成熟职场人士才有的从容、优雅。模特周佳凝仍坐在原位,拿起茶几上果盘里的一颗翠绿的水晶葡萄,慢条斯理地剥着皮。“周小姐,听说这支广告你不想拍了?”夏一冉边说着,边绕过茶几,在沙发上坐下。“没有啊,谁说我不拍了?我没说不拍啊,我只是口渴了,吃完这盘葡萄就好了。”开玩笑,如果这条广告不拍的话,她要赔给唐氏违约金的!这个女人不是胸大无脑。夏一冉微笑,在心里冷哼。知道这个周佳凝是故意耍大牌,以她这慢条斯理的速度,这盘葡萄吃完,还不得太阳落山?“周小姐是说,吃完这盘葡萄,就开工?”“是啊!”周佳凝连忙说道,慢悠悠地,又拿起一颗葡萄。这时,夏一冉也拿了一颗。“我也有点口渴了呢。”她说着,将带皮的葡萄塞进嘴里,吐出葡萄皮,没吐籽,然后又是一颗。

看得周佳凝目瞪口呆。不一会儿,夏一冉就吃光了整盘葡萄,她抽了张面纸,擦了擦手,站起身,拍了下双手。“OK,葡萄吃完了,周小姐可以开工了!Da.vid,please!”夏一冉说着,右手扬高,帅气地弹了个响指,操着流利的英文对摄影师扬声道。周佳凝怎么也没想到夏一冉会用这样的小计俩!她当然气不过,站起身。“夏总,我可是唐总的红颜知己,你得罪了我,就不怕你老公找你算账?”周佳凝描着精致妆容的脸上,一脸得意,对她示威。真是可笑,居然有小三堂而皇之地在原配面前示威!不过,确实有,这样的事情她夏一冉隔三差五都要面对一次!夏一冉微微一笑,笑容是那样明媚。“那就试试咯?”说罢,她转身,不想和这种女人浪费唇舌。“今天拍不完,谁也不许离开!一直留下到拍完为止!”这话是对周佳凝说的。只是夏一冉强势的话才说完,那道厚重的双开木门又一次被推开。穿着一身昂贵手工西服,身材高挑修长的男人,大步走了进来。帅气干净的商务发型,五官精致无暇,浑身上下透着成熟男人的魅力。“唐总!”周佳凝见到唐皓南,委屈地喊了声,提起婚纱裙摆,朝他奔去。影棚里,除了三名主角,其他人都暗暗地倒抽口气!夏一冉的目光淡淡地落在那一对男女那,女人小鸟依人,委屈地趴在男人的宽广胸膛里,而那男人,正是她的丈夫!她夏一冉的丈夫,唐皓南,唐氏集团总裁!“小宝贝,怎么了?”唐皓南温柔地问。嘲讽而冰冷的目光落在不远处夏一冉的脸上,他的妻子!她是那样淡然,看自己哄着别的女人,居然像在看一对陌生人。他十分讨厌她的淡然,十分!“唐总……人家身体不舒服,不在状态,夏总她……”周佳凝一脸梨花带雨趴在唐皓南怀里抽噎,现场工作人员简直也看不下去了!但是,谁又敢斗着胆子管总裁的“家务事”!就连唐家的女婿姜予恒也没吱声。

…………….

这里我省略了N千字。

然后通过邮件发给了兄弟,他竟然目瞪口呆,觉得太不可思议了,哎~ 这年头,不懂点儿技术怎么混~~

好了,这次的爬虫行动就到此为止,下个项目就是通过爬虫爬取音乐和视频,然后在树莓派上通过定制一个播放列表进行播放。

最后,我是一个喜欢折腾树莓派的重口味小清新,我是骑驴玩儿漂移,转载请注明出处,谢谢!

发表评论