Scrapy框架: 通用爬虫之XMLFeedSpider
时间:2022-07-25
本文章向大家介绍Scrapy框架: 通用爬虫之XMLFeedSpider,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
步骤01: 创建项目
scrapy startproject xmlfeedspider
步骤02: 使用XMLFeedSpider模版创建爬虫
scrapy genspider -t xmlfeed jobbole jobbole.com
步骤03: 修改items.py
import scrapy
class JobboleItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
# 文章标题
title = scrapy.Field()
# 发表日期
public_date = scrapy.Field()
# 文章链接
link = scrapy.Field()
步骤04: 配置爬虫文件jobbole.py
# -*- coding: utf-8 -*-
from scrapy.spiders import XMLFeedSpider
# 导入item
from xmlfeedspider.items import JobboleItem
class JobboleSpider(XMLFeedSpider):
name = 'jobbole'
allowed_domains = ['jobbole.com']
start_urls = ['http://top.jobbole.com/feed/']
iterator = 'iternodes' # 迭代器,不指定的话默认是iternodes
itertag = 'item' # 抓取item节点
def parse_node(self, response, selector):
item = JobboleItem()
item['title'] = selector.css('title::text').extract_first()
item['public_date'] = selector.css('pubDate::text').extract_first()
item['link'] = selector.css('link::text').extract_first()
return item
- 事件委托与阻止冒泡
- Linux网络工具之Ping命令
- Linux DNS之nslookup命令
- 【LEETCODE】模拟面试-108-Convert Sorted Array to Binary Search Tree
- javascript单线程环境实现真正的setTimeout
- 利用pipework与OVS构建跨主机容器网络
- Docker系列教程07-Dockerfile指令详解
- Docker系列教程06-实战:修改Nginx首页
- prompt() 方法,弹框带输入框
- Docker系列教程05-容器常用命令
- 数据分析利器-NumPy
- 【LEETCODE】模拟面试-134-Gas Station
- Docker系列教程17-默认bridge网络中配置DNS
- Docker系列教程16-network命令
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法