Python爬虫 —— 抓取美女图片
代码如下:
#coding:utf-8
# import datetime
import requests
import os
import sys
from lxml import etree
import codecs class Spider:
def __init__(self):
self.headers = {}
self.headers['User_Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:60.0) Gecko/20100101 Firefox/60.0'
self.headers['Referer'] = 'http://www.mzitu.com/all/' def crawl(self, root_url):
html_text = requests.get(root_url,headers=self.headers).text
html_tree = etree.HTML(html_text)
groups = html_tree.xpath("//div[@class='main-content']//ul[@class='archives']//a")
count = 0
print "开始抓取:"
for group in groups:
title = group.text
groupUrl = group.get('href')
print "正在抓取组图:"+title
dirpath = self.makDir(title) #获取标题,并以标题为名字创建文件夹
self.getGroup(groupUrl,dirpath) #
count = count+1
if count>=5:
print "抓取完成……"
os._exit(0) def makDir(self,dirname):
dirpath = os.path.join(u'E:\学习资料',dirname)
if not os.path.exists(dirpath):
os.makedirs(dirpath)
return dirpath def getGroup(self,groupUrl,dirpath):
self.headers['Referer'] = groupUrl
html_text = requests.get(groupUrl, headers=self.headers).text
html_tree = etree.HTML(html_text)
maxPage = html_tree.xpath("//div[@class='pagenavi']//span")[-2].text #获取改组图的张数
for page in range(1,int(maxPage)+1): #获取每一张图的所在页面
pageUrl = groupUrl + '/' + str(page) #拼接页面url
self.getPage(pageUrl,page,dirpath) #访问该页面 def getPage(self, pageUrl,page,dirpath):
self.headers['Referer'] = pageUrl
page_text = requests.get(pageUrl, headers=self.headers).text #请求该图所在的页面
page_tree = etree.HTML(page_text)
imageurl = page_tree.xpath("//div[@class='main-image']//img")[0].get('src') #获取图片url
image = requests.get(imageurl, headers=self.headers).content #请求获取图片
self.saveImage(image,page,dirpath) def saveImage(self,image,page,dirpath):
imagepath = os.path.join(dirpath, str(page) + u'.jpg')
file = codecs.open(imagepath, 'wb')
file.write(image)
file.close() if __name__ == '__main__':
reload(sys)
sys.setdefaultencoding('utf-8')
Mzitu = Spider()
Mzitu.crawl('http://www.mzitu.com/all')
Python爬虫 —— 抓取美女图片的更多相关文章
- Python爬虫 —— 抓取美女图片(Scrapy篇)
杂谈: 之前用requests模块爬取了美女图片,今天用scrapy框架实现了一遍. (图片尺度确实大了点,但老衲早已无恋红尘,权当观赏哈哈哈) Item: # -*- coding: utf-8 - ...
- python 爬虫抓取心得
quanwei9958 转自 python 爬虫抓取心得分享 urllib.quote('要编码的字符串') 如果你要在url请求里面放入中文,对相应的中文进行编码的话,可以用: urllib.quo ...
- Python3简单爬虫抓取网页图片
现在网上有很多python2写的爬虫抓取网页图片的实例,但不适用新手(新手都使用python3环境,不兼容python2), 所以我用Python3的语法写了一个简单抓取网页图片的实例,希望能够帮助到 ...
- Python爬虫----抓取豆瓣电影Top250
有了上次利用python爬虫抓取糗事百科的经验,这次自己动手写了个爬虫抓取豆瓣电影Top250的简要信息. 1.观察url 首先观察一下网址的结构 http://movie.douban.com/to ...
- Python爬虫抓取东方财富网股票数据并实现MySQL数据库存储
Python爬虫可以说是好玩又好用了.现想利用Python爬取网页股票数据保存到本地csv数据文件中,同时想把股票数据保存到MySQL数据库中.需求有了,剩下的就是实现了. 在开始之前,保证已经安装好 ...
- python爬虫-爬取百度图片
python爬虫-爬取百度图片(转) #!/usr/bin/python# coding=utf-8# 作者 :Y0010026# 创建时间 :2018/12/16 16:16# 文件 :spider ...
- Python 爬虫: 抓取花瓣网图片
接触Python也好长时间了,一直没什么机会使用,没有机会那就自己创造机会!呐,就先从爬虫开始吧,抓点美女图片下来. 废话不多说了,讲讲我是怎么做的. 1. 分析网站 想要下载图片,只要知道图片的地址 ...
- python爬虫抓取哈尔滨天气信息(静态爬虫)
python 爬虫 爬取哈尔滨天气信息 - http://www.weather.com.cn/weather/101050101.shtml 环境: windows7 python3.4(pip i ...
- python+requests抓取页面图片
前言: 学完requests库后,想到可以利用python+requests爬取页面图片,想到实战一下.依照现在所学只能爬取图片在html页面的而不能爬取由JavaScript生成的图片,所以我选取饿 ...
随机推荐
- MongoDB下载安装測试及使用
1.下载安装 64位:mongodb-win32-x86_64-enterprise-windows-64-2.6.4-signed.msi 余数为1的 db.collection.find({ &q ...
- windows的iis做后门,隐藏访问,无日志
windows下的iis5/iis6做后门,隐藏访问,不留访问记录或者不留日志 好不容易攻下一台Windows2000/2003 IIS服务器,你一定会想,怎样才能长期占有这个“肉鸡”呢?聪明的你肯定 ...
- SharePoint 2013 对话框
The quick way to open a sharepoint 2013 dialog modal form is via Javascript below 1 2 3 4 5 function ...
- JS批量获取参数构建JSON参数对象
在做系统的时候,往往查询条件是被严格指定的,大量的查询条件,一两个页面还可以通过dom去一个一个获取,再构建参数对象,请求后台接口. 这里给大家讲一个批量获取前端参数,构建参数对象. <form ...
- Django之中间件-CSRF
CSRF a.CSRF原理 post提交时需要提交csrf_token ,缺少则不通过 在form表单中加入: {% csrf_token %} b.无CSRF时存在隐患 防护其他人通过别的链接pos ...
- hashCode与equals的作用与区别及应当注意的细节
最近去面试了几家公司,被问到hashCode的作用,虽然回答出来了,但是自己还是对hashCode和equals的作用一知半解的,所以决定把它们研究一下. 以前写程序一直没有注意hashCode的作用 ...
- 智能手机的耗电特征及APP耗电量测试的两种方法
文章陈述了手机发展趋势及耗电特性,集中讨论了时下最为关心的智能手机耗电问题,并介绍了测量手机软件耗电量的两种方法.此外还解释了为何运营商此前会提出收取微信的费用,心跳机制是什么. 美国著名手机公司Pa ...
- XSS前置课程--同源策略
什么是同源策略: 在用户浏览互联网中的网页的过程中,身份和权限的思想是贯穿始终的 同源策略(Same-Origin Policy),就是为了保证互联网之中,各类资源的安全性而诞生的产物,它实际上是一个 ...
- jquery判断复选框是否被选中
$("#isUse").click(function(){ if($(this).is(':checked')){ $(this).attr('checked','checked' ...
- HDU 2112 HDU Today(STL MAP + Djistra)
题目链接:HDU Today 立即集训要開始,抓紧时间练练手,最短路的基础题,第一次用STL的map 题目非常水,可是错了N遍.手贱了.本题不优点理的就是把地名转化为数字 #include <i ...