天堂图片全部图片爬取

#1.导包
import requests,os
from lxml import etree
from urllib.request import urlretrieve
from urllib.parse import urljoin
import zmail
import zipfile
headers = {
          'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36'
}

#2.获取网页源码
url = 'http://www.ivsky.com/tupian/'
response = requests.get(url,headers = headers)
html_content = response.content
#3.解析大分类标题和地址
root = etree.HTML(html_content)
big_hrefs = root.xpath('//ul[@class="tpmenu"]/li/a/@href')#标签后面属性的值
big_titles = root.xpath('//ul[@class="tpmenu"]/li/a/text()')

for big_title,big_href in zip(big_titles,big_hrefs):
   os.makedirs(f'天堂图片/{big_title}',exist_ok=True)
   big_href = urljoin(url,big_href)

   response = requests.get(big_href,headers = headers)
   html_content = response.content
   root = etree.HTML(html_content)
   small_hrefs = root.xpath('//div[@class="sline"]/div/a/@href')
   small_titles = root.xpath('//div[@class="sline"]/div/a/text()')

   for small_href,small_title in zip(small_hrefs,small_titles):
      os.makedirs(f'天堂图片/{big_title}/{small_title}',exist_ok=True)
      small_href = urljoin(url,small_href)
      response = requests.get(small_href,headers = headers)
      html_content = response.content
      root = etree.HTML(html_content)
      img_srcs = root.xpath("//ul[@class = 'pli']/li/div/a/img/@src")

      for src in img_srcs:
         urlretrieve(src,f'天堂图片/{big_title}/{small_title}/'+src.split('/')[-1])
         # high_src = src.replace('/t/', '/pre/')
         # urlretrieve(high_src, f'天堂图片网/{big_title}/{small_title}/' + 'big_' + high_src.split('/')[-1])

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值