w2849201885 发表于 2023-5-14 10:52

彼岸网美女壁纸爬虫

"""
地址:http://www.netbian.com/
可以根据网页分类进行修改
请先自行在目录内创建 美女图片 文件夹
@清欢吖

"""
#导入 requests 和 etree 模块
import requests
from lxml import etree

#循环下载75页的图片
for i in range(75):
    #第一页的地址和后面页的地址不同,需要分别处理
    if i==0:
      url = "http://www.netbian.com/meinv/index.htm"
      i +=1
    else:
      url = 'http://www.netbian.com/meinv/index_' + str(i + 1) + '.htm'

    #设置协议头
    headesp = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.35'}

    #发送get请求并获取响应且设置编码
    resp = requests.get(url,headers=headesp)
    resp.encoding = resp.apparent_encoding

    #将响应内容解析为etree对象
    xp = etree.HTML(resp.text)

    #获取每页中的图片详情页链接
    img_url = xp.xpath("/html/body/div[@class='wrap clearfix']/div[@id='main']/div[@class='list']/ul/li/a/@href")
    for n in img_url:
      #根据图片详情页链接再次发送get请求并获取图片地址和名称
      resp = requests.get('http://www.netbian.com' + n)
      resp.encoding = resp.apparent_encoding
      xp = etree.HTML(resp.text)
      img_urls = xp.xpath('//div[@class="pic"]/p/a/img/@src')
      img_name = xp.xpath('//div[@class="pic"]/p/a/img/@alt')

      #循环下载每个图片
      for u, n in zip(img_urls, img_name):
            print(f'图片名:{n} 地址:{u}')
            img_resp = requests.get(u)
            with open(f'./美女图片/{n}.jpg', 'wb') as f:
                f.write(img_resp.content)

49437 发表于 2023-5-14 10:53

感谢楼主分享

q315523827 发表于 2023-5-14 11:02

谢谢@Thanks!

左柚啊 发表于 2023-5-14 11:06


感谢楼主的分享

980922666 发表于 2023-5-14 11:47

谢谢分享!

qq961133014 发表于 2023-5-14 12:11

多谢楼主分享

kjbcz 发表于 2023-5-14 12:45

谢谢分享

southlan 发表于 2023-5-14 13:51

谢谢大佬分享

mua 发表于 2023-5-14 13:51

谢谢大牛
页: [1]
查看完整版本: 彼岸网美女壁纸爬虫