美文网首页
python爬虫入门

python爬虫入门

作者: 哆啦在这A梦在哪 | 来源:发表于2018-11-21 16:45 被阅读0次

    1.get_savefile_path()

    函数内,sys.path[0]获取执行函数上一级的目录路径,os.path.join用来连接两个地址,第二个参数是一个字符串,连接到前一个末尾。

    2.get_url_info

    获取你想要得到的哪个URL的内容

    3.get_img_info

    用来解析内容,返回图片的路径。 reg = r'src="(.+?.jpg)" pic_ext'使用正则表达式匹配图片路径, re.compile将字符串转化为一个正则表达式,re.findall(imre,htmlinfo)把后面的需要匹配的内容和前面的正则表达式相匹配。返回一个list。

    4.download_file

    将图片下载至本地。urllib.urlretrieve()函数第一个参数是你的图片地址,第二个是保存的路径,这里注意的是,这里路径里面直接写上需要保存成什么文件名和类型,%S用来替换数据,字符串后面跟上需要替换的数据,用空格隔开
    这里我用路径拼接函数拼接成完整的路径。

    注意:

    以下代码直接拷贝即可,不过要在你的运行的文件同一级下面,新建一个名称为“assets”的文件夹,是用来保存获得的图片

    import re,sys,os
    import urllib.request as urllib
    
    #获取保存文件的路径
    def get_savefile_path():
            return os.path.join(sys.path[0],"assets") 
    
    #URL中获取内容
    def get_url_info(httpurl):
        pg = urllib.urlopen(httpurl)
        htmlinfo = pg.read().decode('utf-8')
        return htmlinfo
    
    #从内容中使用正则表达式匹配出图片的路径
    def get_img_info(htmlinfo):
        reg = r'src="(.+?\.jpg)" pic_ext'
        imre = re.compile(reg)
        imglist = re.findall(imre,htmlinfo)
        return imglist
    
    #将图片下载到指定的路径
    def download_file(filelist):
        x = 1
        for i in filelist:
            savefilepath = get_savefile_path()
            urllib.urlretrieve(i,os.path.join(savefilepath,"%s.jpg" %x))
            x = x+1
    
    html = get_url_info("http://tieba.baidu.com/p/2460150866")
    htlist = get_img_info(html)
    download_file(htlist)
    

    相关文章

      网友评论

          本文标题:python爬虫入门

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