http://616pic.com/png/?sem=7&sem_kid=27&ks=4941
# _*_coding:utf-8_*_
from bs4 import BeautifulSoup
import urllib.request
import requests
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)\
Chrome/67.0.3396.62 Safari/537.36'}
url = r"http://616pic.com/png/?sem=7&sem_kid=27&ks=4941"
req = urllib.request.Request(url, headers=header)
response = urllib.request.urlopen(req)
soup = BeautifulSoup(response, 'html.parser')
result = soup.findAll(attrs={'class': 'lazy'})
for i in result:
i = str(i)
i = i.split('nal=\"', 1)[1].split('\"/>')[0]
print(i, type(i), '\n')
res = requests.get(i)
j = i.split('img', 1)[1].split('/', 4)[4].split('.jpg', 1)[0]
print(j)
new_pic = open('./%s.jpg' % j, 'wb')
new_pic.write(res.content)
new_pic.close()
print('finished')
先导入几个库文件, 具体就上面三个
from bs4 import BeautifulSoup
import urllib.request
import requests
假装是浏览器访问他们网站
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko)\
Chrome/67.0.3396.62 Safari/537.36'}
url = r"http://616pic.com/png/?sem=7&sem_kid=27&ks=4941"
header是浏览器信息, 怎么获取浏览器信息呢? 具体如下
打开一个网页 按F12
点network , 其他浏览器点 网络 那个选项 再按 F5 刷新
点击上方那个 www.baidu.com , 点击后最后面的就是浏览器的属性
req = urllib.request.Request(url, headers=header)
response = urllib.request.urlopen(req)
soup = BeautifulSoup(response, 'html.parser')
result = soup.findAll(attrs={'class': 'lazy'})
req 是请求, 用urllib.request.Request(网址, 浏览器信息) , 把信息给req
response 是请求访问后得到服务器的响应 , urlopen 是裹挟 req的数据去访问服务器
soup是BeatifulSoup(response, 'html.paeser') 创建的数对象, 里面包括了网页的全部信息
在soup里找到所有class属性叫lazy的标签
for i in result:
i = str(i)
i = i.split('nal=\"', 1)[1].split('\"/>')[0]
print(i, type(i), '\n')
res = requests.get(i)
j = i.split('img', 1)[1].split('/', 4)[4].split('.jpg', 1)[0]
print(j)
new_pic = open('./%s.jpg' % j, 'wb')
new_pic.write(res.content)
new_pic.close()
print('finished')
拿到标签以后去剪切标签 , 目的是获得图片地址 ,
用requests.get(图片地址) 获得图片地址i , j是图片的命名
新建一个图片 open(...) wb是二进制写入读取方式
用requests得到的content是图片 , 视频这些信息 , text是文字信息 , write(图片信息)
close()是图片创建完关闭创建的图片
最后全部图片趴下来完成!!!