zoukankan      html  css  js  c++  java
  • 苦练爬虫第二天!!!

    '''
    去爬1号店的乐器图片
    '''
    from urllib import request
    import os
    import re
    def instrumentCrawker(url, path):
        if not os.path.exists(path):
            os.makedirs(path)
    
        #设置请求头
        headers = {
            'Accept': 'text/html, application/xhtml+xml, */*',
            # 'Accept-Encoding': 'gzip, deflate',
            'Accept-Language': 'zh-CN',
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) '
                          'Chrome/63.0.3239.26 Safari/537.36 Core/1.63.6756.400 QQBrowser/10.3.2545.400',
            'DNT': '1',
            'Connection': 'Keep-Alive'
        }
        #设置请求体
        req = request.Request(url, headers=headers)
        #得到回复内容
        response = request.urlopen(req)
        imageHtml = response.read().decode("utf-8")
        #两个问题:一.U的转译问题,字符串前面加r防止转译 二.编码问题,在windows下面,新文件的默认编码是gbk,后面重置编码
        pat = '<img (src=|original=)"(.*?)"(/>
    | />
    )<!-- 个性化打标:已购买、常浏览 -->'
        re_image = re.compile(pat)
        imageList = re_image.findall(imageHtml)
    
        for image in imageList:
            #destPath = os.path.join(r'f:image', str(imageList.index(image) + 1) + ".jpg")
            #当时没有创建image文件夹,一直报错,难受
            destPath = os.path.join(path, str(imageList.index(image) + 1) + ".jpg")
            request.urlretrieve("http:" + image[1],filename=destPath)
    
    url = "https://search.yhd.com/c6291-0-0"
    path = os.path.join(os.getcwd(), 'image1')
    instrumentCrawker(url, path)

      体会:也写了两个比价简单的爬虫了,总的来说语法还是比较简单,就是其中的各种小BUG让人

    非常难受呀!目前自己感觉怕重最重要的就是对内容的分析,然后定义提取内容的规律,之后处理提取到的内容。这一过程是比较麻烦的(暂时的体会,会后续更新的,加油)!

  • 相关阅读:
    js打印的两种方法
    C# VS2010中,用微软自带的System.Data.OracleClient来连接Oracle数据库
    js获取本月第几周和本年第几周
    [转]优化数据库大幅度提高Oracle的性能
    sass的循环for,while,each
    sass的mixin,extend,placeholder,function
    float,absolute脱离文档流的总结
    React ref的用法
    cloneNode与事件拷贝
    mobx动态添加observable
  • 原文地址:https://www.cnblogs.com/854594834-YT/p/10541997.html
Copyright © 2011-2022 走看看