zoukankan      html  css  js  c++  java
  • 爬网页数据

    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)
  • 相关阅读:
    C#和sqlserver中生成新的32位GUID
    IIS7下swfupload上传大文件出现404错误
    jQuery 判断是否为数字的方法 及 转换数字函数
    js数组与字符串的相互转换方法
    jquery 中如何将数组转化为json字符串,然后再转化回来?
    Firemonkey Android 虚拟机
    Eclipse apk 签名
    win10 修改hosts
    eclipse 预览Android界面报错
    夜神模拟器
  • 原文地址:https://www.cnblogs.com/crazybird123/p/10139180.html
Copyright © 2011-2022 走看看