python 爬取图片网站图片链接并下载收集

版权声明: https://blog.csdn.net/yangshuolll/article/details/79670846

python进行图片网站图片收集,主要分成如下几个部分:

(1)进行网站html页面分析,分析你要找到的图片的链接,以及每个链接url是怎么构成的,如果通过爬取页面的html获取这些图片的链接

(2)通过python将这些已知链接的图片下载下来

注意这行代码

header = {"Referer":"http://", "User-agent":"Mozilla/5.0"}  #输入和imagepage类似的网址

这行代码定义了referer,就是告诉被爬网站服务器说,我的这个请求是从某某链接过来的,referer的参数写这个网站的首页,这样就不会触发反爬虫的机制了。

下面附上我爬某个图片网站的python爬虫源码,大家主要是python的爬站方式。具体的网站链接我已经省略了。大家可以学习完代码后,找个网站试下。我总共用这段代码爬了50000张照片。


#encoding:utf-8
import requests
import re
from bs4 import BeautifulSoup
header = {"Referer":"http://", "User-agent":"Mozilla/5.0"}  #输入和imagepage类似的网址


#1-1000
def getImg(img_url, img_name):  
    jpg_url = img_url
    r = requests.get(jpg_url, headers = header)
    
    if r.status_code == 200:
        print img_url + "   success"
    content = r.content
    with open(img_name, 'wb') as fp:
        fp.write(content)
    
# 获得专辑照片数量
def picSetNum(picSet_url):
    r_set = requests.get(picSet_url, headers=header)
    html_set = r_set.content
    soup_set = BeautifulSoup(html_set, 'lxml')
    tag_pagename = soup_set.find_all(href=re.compile('^/mm/'))
    return tag_pagename[6].string

if __name__ == '__main__':
    homepage = ""                            #输入你要爬取的目标地址
    imgpage = ""                             #输入图片的存储位置
    for i in range(1,1000):
        temp_url = homepage + str(i)
        for j in range(1,int(picSetNum(temp_url))+1):
            t_url = imgpage + str(i) + '/' + str(j) +'.jpg'
            t_name = 'mm_' + str(i) + '_' + str(j) +'.jpg'
            print t_url
            #print t_name
            getImg(t_url, t_name)


猜你喜欢

转载自blog.csdn.net/yangshuolll/article/details/79670846