版权声明: 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)