• 爬网页数据


    import re #导入正则表达式模块
    import requests #python HTTP客户端 编写爬虫和测试服务器经常用到的模块
    import random #随机生成一个数,范围[0,1]
    import os
    
    def mkdir(path):
        # 判断路径是否存在
        # 存在     True
        # 不存在   False
        isExists=os.path.exists(path)
     
        # 判断结果
        if not isExists:
            os.makedirs(path) 
     
            print (path+' 创建成功')
            return True
        else:
            # 如果目录存在则不创建,并提示目录已存在
            print (path+' 目录已存在')
            return False
            
            
            
    #定义函数方法
    def spiderPic(html,keyword):
        print('正在查找 ' + keyword +' 对应的图片,下载中,请稍后......')
        for addr in re.findall('"objURL":"(.*?)"',html,re.S):     #查找URL
            print('正在爬取URL地址:'+str(addr)[0:30]+'...')  #爬取的地址长度超过30时,用'...'代替后面的内容
     
            try:
                pics = requests.get(addr,timeout=10)  #请求URL时间(最大10秒)
            except requests.exceptions.ConnectionError:
                print('您当前请求的URL地址出现错误')
                continue
            
            creatDir = 'D:\数据\年龄性别\myPaData\woman\' + keyword
            mkdir(creatDir)
            fq = open(creatDir + '\' +(keyword+'_'+str(random.randrange(0,1000,4))+'.jpg'),'wb')     #下载图片,并保存和命名
            fq.write(pics.content)
            fq.close()
     
    #python的主方法
    if __name__ == '__main__':
        #word = input('请输入你要搜索的图片关键字:')
        f = open("D:\数据\年龄性别\myPaData\woman.txt")
        s=f.read()
        s1 = re.split(' ', s) #利用正则函数进行分割
        
        for word in s1:
            print (word)
            result = requests.get('http://image.baidu.com/search/index?tn=baiduimage&ps=1&ct=201326592&lm=-1&cl=2&nc=1&ie=utf-8&word=' + word)
            spiderPic(result.text,word)
  • 相关阅读:
    第九周周记
    第七周周记
    第三次作业第一题
    第五周周记
    《世界是数字的》读后感想
    第十周周记
    迷茫
    测试作业
    价值观作业
    作业二 感想
  • 原文地址:https://www.cnblogs.com/crazybird123/p/10139180.html
Copyright © 2020-2023  润新知