如何利用Python 爬各个网站美女图片
如何利用Python 爬各个网站美女图片
导入说需要的库
如果没有请安装
pip install requests
&&pip install lxml
import requests
import os
from lxml import etree
伪装一个身份发送信息
headers = {
'User-Agent' : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36"
}
设置目标url地址,也就是要爬去的网站地址
url = "https://pic.netbian.com/shoujibizhi/index_2.html" // 我爬的这个网站
request
发送请求利用etree
解析当前页面的所有信息
page_text = requests.get(url = url, headers = headers)
tree = etree.HTML(page_text)
通过tree.xpath
获取所有暂时图片的列表
li_list = tree.xpath('//div[@class="alist"]/ul/li')
// 找到所有类名为alist的div标签下的ui标签下的li标签
创建文件夹
os.mkdir('picLibs')
- 循环列表找到指定图片
url
写入文件
for li in li_list :
img_name = li.xpath('./a/img/@alt')[0] + '.jpg' // 具体要看该图片长什么样
img_src = "https://pic.netbian.com/" + li.xpath('./a/img/@src')[0]
img_data = requests.get(url = img_src, headers = headers).content // 获取看情况获取名称
with open('picLibs' + img_name, 'wb') as fp :
fp.write(img_data)
完整代码
不可能一页一页的爬去图片,所以再最外面根据实际情况加了一个循环
#解析下载图片数据
import requests
import os
from lxml import etree
if __name__ == "__main__" :
parse = etree.HTMLParser(encoding = "utf-8")
headers = {
'User-Agent' : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36"
}
for num in range(3,12): // 这里可以根据网站来调整页数
url = "https://pic.netbian.com/shoujibizhi/index_" + str(num) + ".html"
page_text = requests.get(url = url, headers = headers)
# 通用处理中文乱码的解决方案
# img_name = img_name.encode('iso-8859-1').decode('gbk')
page_text.encoding = page_text.apparent_encoding
page_text = page_text.text
tree = etree.HTML(page_text, parser = parse)
li_list = tree.xpath('//div[@class="alist"]/ul/li')
print(li_list,'li_list')
if not os.path.exists('picLibs'+ str(num)) :
os.mkdir('picLibs'+ str(num))
for li in li_list :
img_name = li.xpath('./a/img/@alt')[0] + '.jpg'
img_src = "https://pic.netbian.com/" + li.xpath('./a/img/@src')[0]
img_data = requests.get(url = img_src, headers = headers).content
with open('picLibs'+ str(num) +'/' + img_name, 'wb') as fp :
fp.write(img_data)
代码执行 安装python 环境 python
xxx.py
即可