前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:961562169

开发工具

  • python 3.6.5
  • pycharm
import requests
import parsel

相关模块可pip安装

分析目标网页

在这里插入图片描述

请求网页获取列表页

response = requests.get(url=url, headers=headers)
selector = parsel.Selector(response.text)
lis = selector.css('#pins li a::attr(href)').getall()
for li in lis:
    page_id = li.split('/')[-1]

获取详情页下一页url

def netx_url(url, page_id):
    response_2 = requests.get(url=url, headers=headers)
    selector = parsel.Selector(response_2.text)
    last_num = selector.css('.pagenavi a:nth-child(7) span::text').get()
    for i in range(1, int(last_num) + 1):
        new_url = 'https://www.mzitu.com/{}/{}'.format(page_id, i)

保存数据

def download(url):
    response = requests.get(url=url, headers=headers)
    selector = parsel.Selector(response.text)
    title = selector.css('body > div.main > div.content > h2::text').get()  # 图片标题
    img_url = selector.css('.main-image p img::attr(src)').get()  # 图片地址
    path = 'D:\python\demo\妹子图\img\' + title + '.jpg'
    download_response = requests.get(url=img_url, headers=headers)
    with open(path, mode='wb') as f:
        f.write(download_response.content)
        print(title, img_url)

在这里插入图片描述
在这里插入图片描述

内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!