scrapy抓取dmoz内容
1.新建一个项目
scrapy startproject dmozspider
会在当前目录创建一个dmozspider的文件夹,包含一系列文件
scrapy.cfg:项目的配置文件
tutorial/:项目的Python模块,将会从这里引用代码
tutorial/items.py:项目的items文件
tutorial/pipelines.py:项目的pipelines文件
tutorial/settings.py:项目的设置文件
tutorial/spiders/:存储爬虫的目录
2.修改tutorial目录下的items.py文件,在原本的class后面添加我们自己的class。
因为要抓dmoz.org网站的内容,所以我们可以将其命名为DmozItem:
代码如下
import scrapy
class TutorialItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() pass
class DmozItem(scrapy.Item): title = scrapy.Field() link = scrapy.Field() desc = scrapy.Field()
3.制作爬虫
第一只爬虫,命名为dmoz_spider.py,保存在tutorial\spiders目录下
dmoz_spider.py代码如下:
from scrapy.spider import Spider from scrapy.selector import Selector from dmozspider.items import DmozItem
class DmozSpider(Spider): name = "dmoz" allowed_domains = ["dmoz.org"] start_urls = [ "http://www.dmoz.org/Computers/Programming/Languages/Python/Books/", "http://www.dmoz.org/Computers/Programming/Languages/Python/Resources/" ]
def parse(self, response): sel = Selector(response) sites = sel.xpath('//div[@class="title-and-desc"]') items=[] for site in sites: item=DmozItem() item['title']=site.xpath('a/div/text()').extract() item['link']=site.xpath('a/@href').extract() item['desc']=site.xpath('div/text()').extract() title =item['title'] link = item['link'] desc = item['desc'] items.append(item) return items
4.进入到dmozspider目录,运行
scrapy crawl dmoz
5.存储内容(Pipeline)
保存信息的最简单的方法是通过Feed exports,主要有四种:JSON,JSON lines,CSV,XML。
我们将结果用最常用的JSON导出,命令如下:
scrapy crawl dmoz -o items.json -t json
参考网址:http://blog.csdn.net/pleasecallmewhy/article/details/19642329
http://doc.scrapy.org/en/latest/topics/selectors.html#topics-selectors
scrapy抓取dmoz内容相关推荐
- python scrapy 抓取脚本之家文章(scrapy 入门使用简介)
老早之前就听说过python的scrapy.这是一个分布式爬虫的框架,可以让你轻松写出高性能的分布式异步爬虫.使用框架的最大好处当然就是不同重复造轮子了,因为有很多东西框架当中都有了,直接拿过来使用就 ...
- python怎么爬虎牙_使用python爬虫框架scrapy抓取虎牙主播数据
前言 本文利用python的scrapy框架对虎牙web端的主播.主播订阅数.主播当前观看人数等基本数据进行抓取,并将抓取到的数据以csv格数输出,以及存储到mongodb中 思路 观察虎牙网站后确认 ...
- 解决Scrapy抓取中文网页保存为json文件时中文不显示而是显示unicode的问题
注意:此方法跟之前保存成json文件的写法有少许不同之处,注意区分 情境再现: 使用scrapy抓取中文网页,得到的数据类型是unicode,在控制台输出的话也是显示unicode,如下所示 {'au ...
- Scrapy抓取豆瓣电影
零.说明 这个例子爬取了豆瓣top250电影,并把这些电影的某些属性保存到mysql中,具体的url是这个:https://movie.douban.com/top250. 一.环境 python3. ...
- 逆向爬虫18 Scrapy抓取全站数据和Redis入门
逆向爬虫18 Scrapy抓取全站数据和Redis入门 一.全站数据抓取 1. 什么是抓取全站数据? 我们曾经在过猪八戒,图片之家,BOSS直聘等网站,利用网站官方提供的搜索功能,搜索指定关键词的内容 ...
- 使用scrapy抓取传智播客c/c++讲师信息
实验一.scrapy爬虫 一.实验目的 1.数据抓取之网络爬虫. 2.scrapy的使用方法,能使用scrapy抓取网页数据. 二.能力图谱 三.实验内容 1.内容:爬取传智播客C/C++讲师的姓名. ...
- Python进阶之Scrapy抓取苏宁图书数据
Python进阶之Scrapy抓取苏宁图书数据 1. 需求 2. 代码示例: 创建项目 start.py settings.py iterms.py snb.py pipelines.py 3. 注意 ...
- scrapy抓取苏宁所有图书并保存到数据库
scrapy抓取苏宁所有图书 采用mongodb存储爬取图书数据,爬取苏宁全网图书信息(图书名,图书所属详细分类商店,价格) 注意 需要根据苏宁图书网页分类建立相应分类 图书详情页每页有60条图书数据 ...
- apache httpclient 工具类_Java教程分享使用HttpClient抓取页面内容
Java教程分享使用HttpClient抓取页面内容,使用HttpClient工具来发送Http请求 1.简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提 ...
最新文章
- Cacti Nagios Squid三个工具的一些区别
- 启用 SR-IOV 解决 Neutron 网络 I/O 性能瓶颈
- 蓝桥杯 如何计算 X^X = 10 来求X呢?
- 基于Spring+SpringMVC+Mybatis的分布式敏捷开发系统架构(附源码)
- 启动转换安装失败 拷贝windows安装文件时出错_男人的生产力工具:极速拷贝 效率神器 TeraCopy精品推荐...
- Bringing up interface eth2: Error: No suitable device found: no device found for connection 'System
- python 模块与包_Python 模块与包
- vue对象拼接_vue 俩个数组对象合并成一个
- 2020 OPPO 开发者大会重磅推出 ColorOS 11,适配机型达 33 种
- 随笔 2016-1-4
- 亲自体验了vscode网页版开发代码并提交代码到github代码库,发现出奇的流畅,手机和平板也可以很愉快的编写代码了
- JS,CSS是前端,JAVA PHP ASP是后端,数据库是后端的处理对象,非代表前后底
- c语言 gets getc,6.16 C语言,getchar gets getc有什么区别 分别是表示什么的
- 工厂模式与抽象工厂模式
- 使用diskpart命令修复损坏的U盘
- java定义贵宾卡等级_会员卡分成那几个级别,分别有什么叫法
- GCP 搭建 tg代理 MTG
- 内核管理 之 编译内核操作流程 ──为新手指南
- 软考复习-软件工程05-软件项目估算进度管理
- html5手机不能自动播放音乐,解决 iPhone 微信 H5 无法自动播放音乐问题
热门文章
- 马云的“野心”,阿里的区块链布局
- 请这样爱你的移动硬盘
- html假蓝屏死机源码,100秒内蓝屏死机的脚本源代码
- html微信网页字体被放大问题
- word如何设置上标形式_word上标形式
- 上标及下标 Unicode
- 背单词-项目设计文档
- 2020-01-03 KK日记,第一次进行postgresql 11.5+pgpool 安装
- 游戏辅助制作核心--植物大战僵尸逆向之阳光生产加速实现满天星(四)1
- 【C语言】让你不再害怕指针——C指针详解(经典,非常详细)