逃不掉的正则表达式

作者: _weber_ | 来源:发表于2016-12-23 10:48 被阅读44次

导语

很多人一听到正则表达式就头大了,一看正则表达式的相关文档头就更大了,因为看不懂啊,完全不是人类可以理解的啊!
但是我要告诉你,想学习爬虫,你就无法逃掉正则表达式。
这篇文章就是向大家证明,正则表达式一点都不可怕,只是看起来很可怕的样子。

资料

功能:

以上一篇文章为基础(http://www.jianshu.com/p/359ce3c88082 ), 没看的请提前看下。
在上一篇文章中我们已经成功获取到了贴吧中一个帖子的三页内容,其实我们想要的只是里面的图片(你懂得),现在我们想办法提取出所有图片的地址。

本次代码

picurls = re.findall('http://imgsrc.baidu.com/forum/w%3D580(.*?)"', m.decode(), re.S)
with open('c:/wwb/python/temp/picsite.txt', 'a') as file:
  for each in picurls:
    picurl = 'http://imgsrc.baidu.com/forum/w%3D580'+each
    file.write(picurl)
'''
使用正则从网页源码中提取出所有图片地址
m.decode()是为了将byte转换为string,因为re只能处理string
re.S是为了让.可以匹配换行符
使用for循环将每一个图片地址写入TXT
'''

现在你就可以得到一个包含所有图片地址的txt文件了。

完整代码

# -*- coding:utf-8 -*-  

import urllib.request as request
import re

def baidu_tieba(url, begin_page, end_page):
for i in range(begin_page, end_page+1):
    sName = 'c:/wwb/python/temp/'+str(i).zfill(5)+'.html'
    print('正在下载第'+str(i)+'个页面,并保存为'+sName)
    m = request.urlopen(url+str(i)).read()
    with open(sName, 'wb') as file:
        file.write(m)
    picurls = re.findall('http://imgsrc.baidu.com/forum/w%3D580(.*?)"', m.decode(), re.S)
    with open('c:/wwb/python/temp/picsite.txt', 'a') as file:
        for each in picurls:
            picurl = 'http://imgsrc.baidu.com/forum/w%3D580'+each
            file.write(picurl)
print('Done')

url = 'http://tieba.baidu.com/p/4906913050?pn='
begin_page = 1
end_page = 3
baidu_tieba(url, begin_page, end_page)

相关文章

  • 逃不掉的正则表达式

    导语 很多人一听到正则表达式就头大了,一看正则表达式的相关文档头就更大了,因为看不懂啊,完全不是人类可以理解的啊!...

  • 奔逃

    逃不掉了 城市 逃不掉了 冬季 逃不掉了 灰乱的天空 逃不掉了 寒冷的长街 逃不掉了 聚散的人群 逃不掉了 坚硬的...

  • 逃不掉的

    逃不掉的迟早要面对终于······还是要回学校了真的不舍得家里超级舒服好吧,其实还有一堆读后感和摘抄没写完一会凌晨...

  • 逃不掉的

    今天是平安夜,明天是圣诞节了,希望你以后可以平平安安,我现在的心态很平静,婚姻不是进入了爱情的天堂,而是进了爱情的...

  • 逃不掉的

    他是一个魔鬼,凶残至极,明明是温润君子的模样。 他有个双胞胎姐姐,美丽,有孕,善良。 有一天,我猜想着他要把我双腿...

  • 洗掉铅华,孑然一身

    空气里弥漫了零下七度的悍然 威逼着每一次氧气的转化 我也逃不掉了 逃不掉刺骨的寒 逃不掉凛冽的冷 夜色总是无声 我...

  • 逃不掉

    今天看了本历史书,看着看着成语文书了。半白话文,看不懂,根本没法扫书看,一个字一个字还怕理解错。要哭了。不过大家写...

  • 逃不掉

    她,蜷缩着, 试图回到在母亲子宫中最初的状态。 她想, 蜗牛还有壳,遮风避雨; 春蚕还有茧,无丝竹乱耳。 而她, ...

  • 逃不掉

    夜晚我和衣睡下 闭上眼所有的灯光飞灭 荒凉的黑暗漂浮着一颗受伤的心 我才知道曾经最平常的一次拥抱 竟是今天最难求的...

  • 逃不掉

    逃,我要向哪里逃 在四面围墙的空间里 我只能满目呆滞的望着 满是未知物遮挡的天空 我已经在呐喊 然而回应我的是空寂...

网友评论

    本文标题:逃不掉的正则表达式

    本文链接:https://www.haomeiwen.com/subject/hbckvttx.html