# -*- coding: utf-8 -*-
# @Time : 2021年1月11日09:49:47
# 爬取图片
import requests
#查找参数类
from pyquery import PyQuery as pq
import time
#查看请求信息;爬虫发送的python爬取请求,一般不会被网站允许,通过更改User-Agent可以骗过该网站
"""
步骤:
打开你要爬虫的网页
按键盘的F12或手动去浏览器右上角的“更多工具”选项选择开发者工具
按键盘的F5刷新网页
点击Network,再点击Doc
点击Headers,查看Request Headers的User-Agent字段,直接复制
将刚才复制的User-Agent字段构造成字典形式
"""
headers={
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36'
'(KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
}
#使用代理IP
proxies={
'https':'218.75.69.50:39590'
}
#请求网站,获取源代码
def code_request(url):
#r获取为网页的二进制内容
r=requests.get(url,headers=headers,proxies=proxies)
#编码
r.encoding='GBK'
#返回文本
html=r.text
return html
def image_request(text):
doc=pq(text)
#锁定文本页面中的img标签
images=doc('div.list ul li img').items()
x=0
for image in images:
#获取每张图片的url
img_url=image.attr('src')
#获取网页的二进制内容
img=requests.get(img_url,headers=headers,proxies=proxies).content #注意:获取内容
#定义图片存放的路径
path="!!!你要保存的图片路径!!!\\爬虫抓取的图片\\netbian.com\\"+str(x)+".jpg"
#将文件写入指定目录,写入文件用:wb,即:Python文件使用“wb”方式打开
with open(path,'wb') as f:
f.write(img)
time.sleep(1)
print("正在下载第{}张图片".format(x)) #format 为格式化函数
x+=1
print("写入完成")
def main():
url="http://www.netbian.com/"
text=code_request(url)
image_request(text)
if __name__=="__main__":
main()
# -*- coding: UTF-8 -*-
"""
@Author :Wangdali
@Date :2021年1月11日10:04:42
"""
import requests
import os
import time
import json
from lxml import etree
from fake_useragent import UserAgent
import logging
#日志的基本输出设置
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s: %(message)s')
#从网站获取皮肤的各项信息#注意:获取的为该网页下的皮肤,所以url为json列表
url='https://pvp.qq.com/web201605/js/herolist.json'
#获取json文件内容
herolist=requests.get(url)
herolist_json=herolist.json()#转化为json格式
"""
lambda表达式:Python写一些执行脚本时,使用lambda就可以省下定义函数过程。
map()函数:第一个参数为一个函数,第二个参数为迭代器
"""
hero_number=list(map(lambda x:x['ename'],herolist_json)) #提取英雄的名字
hero_name=list(map(lambda x:x['cname'],herolist_json)) #提取英雄的编号
#使用python下载图片
def image_get():
i=0
for j in hero_number:
os.mkdir("!!!你要保存的图片路径!!!\\爬虫抓取的图片\\王者荣耀皮肤\\"+hero_name[i])
os.chdir("!!!你要保存的图片路径!!!\\爬虫抓取的图片\\王者荣耀皮肤\\"+hero_name[i])
i+=1
for k in range (10):
#通过字符串的拼接来构造URL请求
img_url = 'http://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/' + str(j) + '/' + str(
j) + '-bigskin-' + str(k) + '.jpg'
img = requests.get(img_url).content # 请求url的内容
# if im.status_code == 200:
# open(str(k) + '.jpg', 'wb').write(im.content) # 写入文件
if requests.get(img_url).status_code == 200: #防止出现不符合要求的图片
with open(str(k)+'.jpg','wb') as f:
f.write(img)
#time.sleep(0.1)
print("正在下载当前英雄的第{}张图片".format(k))
def main():
image_get()
if __name__=="__main__":
main()
1、博客A
2、博客B