祝大家七夕愉快

妹子图

 import requests
from lxml import etree
import os
def headers(refere):#图片的下载可能和头部的referer有关,所以将referer设为变换值,以躲避反扒
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36',
'Refere': '{}'.format(refere)}
return headers
def Tuji(pag):#找图集
fullurl = 'http://www.mzitu.com/page/{}/'.format(pag)
shouye_html_text = requests.get(fullurl).text
shouye_ele = etree.HTML(shouye_html_text)
tj_list = shouye_ele.xpath('//*[@id="pins"]/li/a/@href')#找每页的图集url
Tuji_url_list = []
for tj_url in tj_list:
Tuji_url_list.append(tj_url)
return Tuji_url_list
def gettuji_info(tj_url_list):#图集的url列表 收集图集的相关信息
for tj_url_1 in tj_url_list: #tj_url_1 --- > http://www.mzitu.com/146823
tj_html_text = requests.get(tj_url_1, headers=headers(tj_url_1)).text
tj_ele = etree.HTML(tj_html_text)
img_title = tj_ele.xpath('//h2[@class="main-title"]/text()')[0] # 图集名称
max_pag_list = int(tj_ele.xpath('/html/body/div[2]/div[1]/div[4]/a[5]/span/text()')[0]) # 找最大页数
if os.path.exists(img_title):
pass
else:
os.mkdir(img_title)
for i in range(1, int(max_pag_list + 1)):
tj_url_2 = tj_url_1 + '/'+str(i) #tj_url_2 ---> http://www.mzitu.com/146823 + pag
tj_html = requests.get(tj_url_2, headers=headers(tj_url_1))
tj_html_text = tj_html.text
tj_ele = etree.HTML(tj_html_text)
img_url = tj_ele.xpath('//div[@class="main-image"]/p/a/img/@src')[0] # 从不同的tj_url_2中找图片的url
print('正在下载'+img_title+'第'+str(i)+'张')
with open(img_title+'/'+str(i)+'.jpg', "wb+") as jpg:
jpg.write(requests.get(img_url, headers=headers(tj_url_2)).content)
jpg.close()
if __name__ == '__main__':
pags = int(input('你想搞几页的嘿嘿?'))
for pag in range(1,pags+1):
gettuji_info(Tuji(pag))

Python 爬虫 七夕福利的更多相关文章

  1. Python爬虫初学(二)—— 爬百度贴吧

    Python爬虫初学(二)-- 爬百度贴吧 昨天初步接触了爬虫,实现了爬取网络段子并逐条阅读等功能,详见Python爬虫初学(一). 今天准备对百度贴吧下手了,嘿嘿.依然是跟着这个博客学习的,这次仿照 ...

  2. Python 爬虫入门(二)——爬取妹子图

    Python 爬虫入门 听说你写代码没动力?本文就给你动力,爬取妹子图.如果这也没动力那就没救了. GitHub 地址: https://github.com/injetlee/Python/blob ...

  3. 专业的“python爬虫工程师”需要学习哪些知识?

    学到哪种程度 暂且把目标定位初级爬虫工程师,简单列一下吧: (必要部分) 熟悉多线程编程.网络编程.HTTP协议相关 开发过完整爬虫项目(最好有全站爬虫经验,这个下面会说到) 反爬相关,cookie. ...

  4. Python爬虫实战四之抓取淘宝MM照片

    原文:Python爬虫实战四之抓取淘宝MM照片其实还有好多,大家可以看 Python爬虫学习系列教程 福利啊福利,本次为大家带来的项目是抓取淘宝MM照片并保存起来,大家有没有很激动呢? 本篇目标 1. ...

  5. Python 爬虫入门之爬取妹子图

    Python 爬虫入门之爬取妹子图 来源:李英杰  链接: https://segmentfault.com/a/1190000015798452 听说你写代码没动力?本文就给你动力,爬取妹子图.如果 ...

  6. Python爬虫个人记录(三)爬取妹子图

    这此教程可能会比较简洁,具体细节可参考我的第一篇教程: Python爬虫个人记录(一)豆瓣250 Python爬虫个人记录(二)fishc爬虫 一.目的分析 获取煎蛋妹子图并下载 http://jan ...

  7. 孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块

    孤荷凌寒自学python第六十七天初步了解Python爬虫初识requests模块 (完整学习过程屏幕记录视频地址在文末) 从今天起开始正式学习Python的爬虫. 今天已经初步了解了两个主要的模块: ...

  8. (转)python爬虫----(scrapy框架提高(1),自定义Request爬取)

    摘要 之前一直使用默认的parse入口,以及SgmlLinkExtractor自动抓取url.但是一般使用的时候都是需要自己写具体的url抓取函数的. python 爬虫 scrapy scrapy提 ...

  9. Python爬虫+颜值打分,5000+图片找到你的Mrs. Right

        一见钟情钟的不是情,是脸 日久生情生的不是脸,是情 项目简介 本项目利用Python爬虫和百度人脸识别API,针对简书交友专栏,爬取用户照片(侵删),并进行打分. 本项目包括以下内容: 图片爬 ...

随机推荐

  1. DevExpress之ChartControl实现时间轴实例 z

    using System; using System.Data; using System.Windows.Forms; using DevExpress.XtraCharts; namespace ...

  2. 哈夫曼树算法及C++实现

    一.相关概念 1.叶子结点的权值(weight)是对叶子结点赋予的一个有意义的数值量. 2.设二叉树有n个带权值的叶子结点,从根节点到各个叶子结点的路径长度与相应叶子结点权值的乘积之和叫做二叉树的带权 ...

  3. DFS BFS代码

    #define maxnum 30 #include<bits_stdc++.h> int visited[maxnum]={0}; using namespace std; typede ...

  4. 马云18年前制止偷井盖视频走红 2013-05-10 11:00:37 来源: 新快报(广州) 有0人参与 分享到 网易微博 新浪微博 腾讯空间 人人网 有道云笔记 在一次访谈中,即将卸任阿里巴巴CEO的马云自曝了他第一次上电视是在1995年。“我刚开始创

    马云18年前制止偷井盖视频走红 2013-05-10 11:00:37 来源: 新快报(广州) 有0人参与   分享到 网易微博 新浪微博 腾讯空间 人人网 有道云笔记 在一次访谈中,即将卸任阿里巴巴 ...

  5. 在自己机器上实现apache的多域名

    自己机器上有3个目录,分别是/var/www/html/                             /var/www/solaris/                           ...

  6. Java基础之二维数组的回顾

    class ArrayWork { /* * 二维数组的复习! * * 2014年4月2日 21:45:50 * * * **/ public static void main(String[] ar ...

  7. 使用jmeter使用Jenkins发送自定义消息内容

    Jenkins运行成功后,需要发送消息给用户,自己封装了一个rtx的方法,进行发送,配置方法如下: 1.在windows下选择 execute windows batch command,执行我的py ...

  8. try...finally的用法

    finally里面只是执行完成try中的代码后,必须执行的代码,即使是try中有异常抛出,也是会去执行finally. >>> try: ... 1/0 ... finally: . ...

  9. 如何访问tomcat所在服务器的其他盘符的资源。

    <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWA ...

  10. sort论文和代码解读

    流程:1.detections和trackers用匈牙利算法进行匹配 2.把匹配中iou < 0.3的过滤成没匹配上的(1.2步共同返回匹配上的,没匹配上的trackers,没匹配上的detec ...