ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

苦练爬虫第二天!!!

2019-03-16 13:37:32  阅读:201  来源: 互联网

标签:url image 爬虫 re 第二天 苦练 path imageList os


'''
去爬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=)"(.*?)"(/>\n| />\n)<!-- 个性化打标:已购买、常浏览 -->'
    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让人

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

标签:url,image,爬虫,re,第二天,苦练,path,imageList,os
来源: https://www.cnblogs.com/854594834-YT/p/10541997.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有