码迷,mamicode.com
首页 > 编程语言 > 详细

python 爬取淘宝的模特照片

时间:2017-04-04 00:35:40      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:sea   blog   时间   port   正则   迭代器   读取   close   lis   

前段时间花了一部分时间学习下正则表达式,总觉得利用正则要做点什么事情,所以想通过爬取页面的方式把一些美女的照片保存下来,其实过程很简单。

1.首先读取页面信息;

2.过滤出来照片的url地址;

3.通过URL地址来保存图片;

#-*-coding:utf-8 -*-
‘‘‘爬取评论区的美女照片‘‘‘
import requests
import re
RE_PICTURE_NAME = re.compile(r(\w)+\.[A-Za-z]+$)
RE_URL = re.compile(r(\w)+\.(\w)+\.(\w)+/(\w)+\/(\w){2,}\/(\w)+.jpg)
request_top_list = requests.get(https://mm.taobao.com/json/request_top_list.htm)
RESPONSE = request_top_list.text #resp.text返回的是Unicode型的数据
def Get_Reuest_Picture_List(RESPONSE):
    ‘‘‘抓取页面的所有URL‘‘‘
    URLS = []
    for match in RE_URL.finditer(RESPONSE): #所有与pattern相匹配的全部字串,以迭代器的形式返回 与findall的区别,findall在字符串中找到正则表达式所匹配的所有子串,并组成一个列表返回
        URL = match.group()
        URLS.append(http://+URL)
    return URLS

def Download_Url_Picture(URL):
    ‘‘‘下载图片‘‘‘
    REQUEST_CONTENT = requests.get(URL).content #resp.content返回的是bytes型也就是二进制的数据
    PICTURE_NAME = RE_PICTURE_NAME.search(URL).group(0) #根据url获取图片名字
    FILE_OBJECT = open(str(PICTURE_NAME),wb) #以二进制的方式写文件
    FILE_OBJECT.write(picture\\+REQUEST_CONTENT)
    FILE_OBJECT.close()


def Save_All_Picture(URLS):
    ‘‘‘保存所有请求中的图片‘‘‘
    for URL in URLS:
        Download_Url_Picture(URL)

if __name__ == __main__:
    URLS = Get_Reuest_Picture_List(RESPONSE)
    Save_All_Picture(URLS)

 

python 爬取淘宝的模特照片

标签:sea   blog   时间   port   正则   迭代器   读取   close   lis   

原文地址:http://www.cnblogs.com/mengyu/p/6664133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!