Python爬虫框架Scrapy 学习笔记 2 ----- 爬取Mininova网站种子文件信息
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网站种子文件信息相关推荐
- Python爬虫框架Scrapy学习笔记原创
字号 scrapy [TOC] 开始 scrapy安装 首先手动安装windows版本的Twisted https://www.lfd.uci.edu/~gohlke/pythonlibs/#twis ...
- Python爬虫框架Scrapy学习笔记
scrapy.png 本文主要内容针对Scrapy有初步了解的同学.结合作者的实际项目中遇到的一些问题,汇成本文. 之后会写一些具体的爬虫demo, 放到 https://github.com/han ...
- Python爬虫框架 scrapy 入门经典project 爬取校花网资源、批量下载图片
####1.安装scrapy 建议:最好在新的虚拟环境里面安装scrapy 注意:博主是在 Ubuntu18.04 + Python3.6 环境下进行开发的,如果遇到安装scrapy不成功请自行百度/ ...
- Python爬虫框架Scrapy 学习笔记 6 ------- 基本命令
1. 有些scrapy命令,只有在scrapy project根目录下才available,比如crawl命令 2 . scrapy genspider taobao http://detail.tm ...
- Hadoop笔记之十七——爬虫框架scrapy实际案例(爬取安卓版QQ阅读)
话不多说,我们的目的: 使用scrapy爬取安卓版QQ阅读所有的小说(只是小说的基本信息,小说内容是不要想的.千万不要想--) 环境准备 安卓收集模拟器:夜神模拟器 安卓手机抓包工具:fiddler ...
- python爬虫天天基金_不使用Python爬虫框架,多线程+代理池爬取天天基金网、股票数据...
提到爬虫,大部分人都会想到使用Scrapy工具,但是仅仅停留在会使用的阶段.为了增加对爬虫机制的理解,我们可以手动实现多线程的爬虫过程,同时,引入IP代理池进行基本的反爬操作. 本次使用天天基金网进行 ...
- scrapy 学习笔记1 爬取 www.dmoz.org 网站信息
1. 安装配置 具体的安装过程, 官网已经写的很清楚了http://doc.scrapy.org/en/latest/intro/install.html#windows 不过在实际安装过程中还是遇到 ...
- Python爬虫攻略(2)Selenium+多线程爬取链家网二手房信息
申明:本文对爬取的数据仅做学习使用,请勿使用爬取的数据做任何商业活动,侵删 前戏 安装Selenium: pip install selenium 如果下载速度较慢, 推荐使用国内源: pip ins ...
- Python爬虫 selenium自动化 利用搜狗搜索爬取微信公众号文章信息
少年最好的地方就是:虽然嘴上说要放弃,心底却总会憋着一口气.--刘同 文章目录 一.需求和网页分析 二.selenium爬虫 一.需求和网页分析 URL:https://weixin.sogou.co ...
最新文章
- MySQL面试题 | 附答案解析(九)
- 【leetcode】974. Subarray Sums Divisible by K
- JavaScript之图片操作3
- Py之pipenv:Python包的管理利器pipenv简介、安装、使用方法详细攻略
- wxWidgets:wxNavigationEnabled< W >类模板的用法
- java重新初始化吗_Java中为何已经重新赋值的变量在输出后会初始化?
- Windows下给SourceTree配置外部比较工具BeyondCompare
- oracle数据库无法显示图层,ArcMap 无法在Oracle中创建图层案例
- FastDFS+Nginx+Module
- python400集视频教程-微软官方出品的400集Python精品视频教程,这正是我们急需的!...
- 改 3 行代码不应该花一整天的时间
- python设计选择题代码_《Python程序的设计》试题库完整
- HCIE面试真题战报及点评系列12
- rtb中的win_广告:RTB
- Matlab画复指数函数的三维图
- 如何通俗的解释全微分
- Check Point R80.10官方共21个产品文档翻译汉化
- 比尔总动员艺人职业详解
- 酷早报:7月21日Web3加密行业新闻大汇总
- 金三银四面试跳槽季最强攻略
热门文章
- Niu Talk 数据科学系列论坛:明晚,我们聊聊大数据与开源
- linux如何编译boost指定库,linux下编译安装boost库
- AutoLisp学习笔记
- 精通正则表达式笔记一---正则表达式基础概念[ ],[^ ],.,^,$,\<,\>,|,(),-
- 2022世界传感器大会 | 龙芯中科发布龙芯2K0500多功能SoC芯片及解决方案
- 互联网压垮实体经济?
- cento7安装kvm并通过kvm命令行安装centos7
- SQL语句结合后台处理大量数据下的数据导出
- 16进制unicode编码转string
- PAT乙级 1069 微博转发抽奖 (20 分) C语言