Python使用Scrapy爬取妹子图


Posted in Python onMay 28, 2015

Python Scrapy爬虫,听说妹子图挺火,我整站爬取了,上周一共搞了大概8000多张图片。和大家分享一下。

核心爬虫代码

# -*- coding: utf-8 -*-
from scrapy.selector import Selector
import scrapy
from scrapy.contrib.loader import ItemLoader, Identity
from fun.items import MeizituItem
 
 
class MeizituSpider(scrapy.Spider):
  name = "meizitu"
  allowed_domains = ["meizitu.com"]
  start_urls = (
    'http://www.meizitu.com/',
  )
 
  def parse(self, response):
    sel = Selector(response)
    for link in sel.xpath('//h2/a/@href').extract():
      request = scrapy.Request(link, callback=self.parse_item)
      yield request
 
    pages = sel.xpath("//div[@class='navigation']/div[@id='wp_page_numbers']/ul/li/a/@href").extract()
    print('pages: %s' % pages)
    if len(pages) > 2:
      page_link = pages[-2]
      page_link = page_link.replace('/a/', '')  
      request = scrapy.Request('http://www.meizitu.com/a/%s' % page_link, callback=self.parse)
      yield request
 
  def parse_item(self, response):
    l = ItemLoader(item=MeizituItem(), response=response)
    l.add_xpath('name', '//h2/a/text()')
    l.add_xpath('tags', "//div[@id='maincontent']/div[@class='postmeta clearfix']/div[@class='metaRight']/p")
    l.add_xpath('image_urls', "//div[@id='picture']/p/img/@src", Identity())
 
    l.add_value('url', response.url)
    return l.load_item()

项目地址:https://github.com/ZhangBohan/fun_crawler

以上所述就是本文的全部内容了,希望大家能够喜欢。

Python 相关文章推荐
线程和进程的区别及Python代码实例
Feb 04 Python
Python实现提取谷歌音乐搜索结果的方法
Jul 10 Python
python操作字典类型的常用方法(推荐)
May 16 Python
Python中的FTP通信模块ftplib的用法整理
Jul 08 Python
python strip() 函数和 split() 函数的详解及实例
Feb 03 Python
Python实现爬虫从网络上下载文档的实例代码
Jun 13 Python
Win10下python 2.7.13 安装配置方法图文教程
Sep 18 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
Dec 15 Python
Python分布式进程中你会遇到的问题解析
May 28 Python
django中的图片验证码功能
Sep 18 Python
pygame库实现移动底座弹球小游戏
Apr 14 Python
python 使用事件对象asyncio.Event来同步协程的操作
May 04 Python
Python实现统计单词出现的个数
May 28 #Python
Python下载懒人图库JavaScript特效
May 28 #Python
Python实现给qq邮箱发送邮件的方法
May 28 #Python
Python import用法以及与from...import的区别
May 28 #Python
Python中使用不同编码读写txt文件详解
May 28 #Python
Python实现统计英文单词个数及字符串分割代码
May 28 #Python
python处理大数字的方法
May 27 #Python
You might like
php magic_quotes_gpc的一点认识与分析
2008/08/18 PHP
Windows下XDebug 手工配置与使用说明
2010/07/11 PHP
php获取字符串前几位的实例(substr返回字符串的子串用法)
2017/03/08 PHP
javascript整除实现代码
2010/11/23 Javascript
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
js学习阶段总结(必看篇)
2016/06/16 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
原生javascript移动端滑动banner效果
2017/03/10 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
Vue中的异步组件函数实现代码
2018/07/20 Javascript
vue选项卡切换登录方式小案例
2019/09/27 Javascript
vue 使用 vue-pdf 实现pdf在线预览的示例代码
2020/04/26 Javascript
Javascript查看大图功能代码实现
2020/05/07 Javascript
记录一次websocket封装的过程
2020/11/23 Javascript
python 重命名轴索引的方法
2018/11/10 Python
对python中的argv和argc使用详解
2018/12/15 Python
对Python的交互模式和直接运行.py文件的区别详解
2019/06/29 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
Python Pivot table透视表使用方法解析
2020/09/11 Python
Python3+Appium安装及Appium模拟微信登录方法详解
2021/02/16 Python
美国内衣第一品牌:Hanes(恒适)
2016/07/29 全球购物
阿巴庭院:Abba Patio
2019/06/18 全球购物
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
学校办公室主任职责
2013/12/27 职场文书
社区工作感言
2014/02/21 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
考博专家推荐信
2014/05/10 职场文书
网络工程专业大学生求职信
2014/10/01 职场文书
县委务虚会发言材料
2014/10/20 职场文书
省委召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
陪护人员误工证明
2015/06/24 职场文书
2016年小学植树节活动总结
2016/03/16 职场文书
2019各种承诺书范文
2019/06/24 职场文书