1. 任务描述

目标网站:http://www.mininova.org/yesterday/

目标网站截图:

-------------------------------------

可以看到种子文件的列表,这些链接的url可以用正则表达式表示为: /tor/\d+

随便点一个进去,进入资源详情页:http://www.mininova.org/tor/13278086

详情页截图

截图中的:资源名称, 资源大小,和资源描述就是我们要抓取的信息。

2. 定义scrapy item.

mininova.py

import  scrapyclass TorrentItem(scrapy.Item):url = scrapy.Field()name = scrapy.Field()description = scrapy.Field()size = scrapy.Field()

3. 查看网页源文件,确定我们要抓取的内容的XPath表达式。对XML Path Language不熟悉的话可以参考:http://www.w3.org/TR/xpath/

Item XPath
name //hi/text()
size //div[@id='specifications']/p[2]/text()[2]
descripthin //div[@id='description']

4. 最终的代码为:

mininova.py

import scrapy
from scrapy.contrib.spiders import CrawlSpider, Rule
from scrapy.contrib.linkextractors import LinkExtractorclass TorrentItem(scrapy.Item):url = scrapy.Field()name = scrapy.Field()description = scrapy.Field()size = scrapy.Field()class MininovaSpider(CrawlSpider):name = 'mininova'allowed_domains = ['mininova.org']start_urls = ['http://www.mininova.org/yesterday']rules = [Rule(LinkExtractor(allow=['/tor/\d+']), 'parse_torrent')]   def parse_torrent(self, response):torrent = TorrentItem()torrent['url'] = response.urltorrent['name'] = response.xpath("//h1/text()").extract()torrent['description'] = response.xpath("//div[@id='description']").extract()torrent['size'] = response.xpath("//div[@id='specifications']/p[2]/text()[2]").extract()return torrent

5. 运行代码

将mininova.py复制到C:\

打开cmd,输入命令: scrapy runspider --output=spider_out.json mininova.py

文件的后缀名很重要,scrapy会根据后缀名确定输出格式

6. 查看输出

转载于:https://blog.51cto.com/dingbo/1597695

Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息相关推荐

  1. Python爬虫框架Scrapy学习笔记原创

    字号 scrapy [TOC] 开始 scrapy安装 首先手动安装windows版本的Twisted https://www.lfd.uci.edu/~gohlke/pythonlibs/#twis ...

  2. Python爬虫框架Scrapy学习笔记

    scrapy.png 本文主要内容针对Scrapy有初步了解的同学.结合作者的实际项目中遇到的一些问题,汇成本文. 之后会写一些具体的爬虫demo, 放到 https://github.com/han ...

  3. Python爬虫框架 scrapy 入门经典project 爬取校花网资源、批量下载图片

    ####1.安装scrapy 建议:最好在新的虚拟环境里面安装scrapy 注意:博主是在 Ubuntu18.04 + Python3.6 环境下进行开发的,如果遇到安装scrapy不成功请自行百度/ ...

  4. Python爬虫框架Scrapy 学习笔记 6 ------- 基本命令

    1. 有些scrapy命令,只有在scrapy project根目录下才available,比如crawl命令 2 . scrapy genspider taobao http://detail.tm ...

  5. Hadoop笔记之十七——爬虫框架scrapy实际案例(爬取安卓版QQ阅读)

    话不多说,我们的目的: 使用scrapy爬取安卓版QQ阅读所有的小说(只是小说的基本信息,小说内容是不要想的.千万不要想--) 环境准备 安卓收集模拟器:夜神模拟器 安卓手机抓包工具:fiddler ...

  6. python爬虫天天基金_不使用Python爬虫框架,多线程+代理池爬取天天基金网、股票数据...

    提到爬虫,大部分人都会想到使用Scrapy工具,但是仅仅停留在会使用的阶段.为了增加对爬虫机制的理解,我们可以手动实现多线程的爬虫过程,同时,引入IP代理池进行基本的反爬操作. 本次使用天天基金网进行 ...

  7. scrapy 学习笔记1 爬取 www.dmoz.org 网站信息

    1. 安装配置 具体的安装过程, 官网已经写的很清楚了http://doc.scrapy.org/en/latest/intro/install.html#windows 不过在实际安装过程中还是遇到 ...

  8. Python爬虫攻略(2)Selenium+多线程爬取链家网二手房信息

    申明:本文对爬取的数据仅做学习使用,请勿使用爬取的数据做任何商业活动,侵删 前戏 安装Selenium: pip install selenium 如果下载速度较慢, 推荐使用国内源: pip ins ...

  9. Python爬虫 selenium自动化 利用搜狗搜索爬取微信公众号文章信息

    少年最好的地方就是:虽然嘴上说要放弃,心底却总会憋着一口气.--刘同 文章目录 一.需求和网页分析 二.selenium爬虫 一.需求和网页分析 URL:https://weixin.sogou.co ...

最新文章

  1. MySQL面试题 | 附答案解析(九)
  2. 【leetcode】974. Subarray Sums Divisible by K
  3. JavaScript之图片操作3
  4. Py之pipenv:Python包的管理利器pipenv简介、安装、使用方法详细攻略
  5. wxWidgets:wxNavigationEnabled< W >类模板的用法
  6. java重新初始化吗_Java中为何已经重新赋值的变量在输出后会初始化?
  7. Windows下给SourceTree配置外部比较工具BeyondCompare
  8. oracle数据库无法显示图层,ArcMap 无法在Oracle中创建图层案例
  9. FastDFS+Nginx+Module
  10. python400集视频教程-微软官方出品的400集Python精品视频教程,这正是我们急需的!...
  11. 改 3 行代码不应该花一整天的时间
  12. python设计选择题代码_《Python程序的设计》试题库完整
  13. HCIE面试真题战报及点评系列12
  14. rtb中的win_广告:RTB
  15. Matlab画复指数函数的三维图
  16. 如何通俗的解释全微分
  17. Check Point R80.10官方共21个产品文档翻译汉化
  18. 比尔总动员艺人职业详解
  19. 酷早报:7月21日Web3加密行业新闻大汇总
  20. 金三银四面试跳槽季最强攻略

热门文章

  1. Niu Talk 数据科学系列论坛:明晚,我们聊聊大数据与开源
  2. linux如何编译boost指定库,linux下编译安装boost库
  3. AutoLisp学习笔记
  4. 精通正则表达式笔记一---正则表达式基础概念[ ],[^ ],.,^,$,\<,\>,|,(),-
  5. 2022世界传感器大会 | 龙芯中科发布龙芯2K0500多功能SoC芯片及解决方案
  6. 互联网压垮实体经济?
  7. cento7安装kvm并通过kvm命令行安装centos7
  8. SQL语句结合后台处理大量数据下的数据导出
  9. 16进制unicode编码转string
  10. PAT乙级 1069 微博转发抽奖 (20 分) C语言