scrapy爬虫简单项目入门练习
【写在开头】
scrapy环境配置配置好了之后,开始着手简单项目入门练习。关于环境配置见上一篇博客https://www.cnblogs.com/ljxh/p/11235079.html。
【正文部分】
视频是跟着CZ的学的,入门练习是爬取CZ官网的师资信息,
1、新建工程
控制台输入:scrapy startproject myspider 新建一个爬虫的工程文件,后面的myspider 可以自己命名。
2、生成一个爬虫
控制台输入scrapy genspider itcast "itcast.cn",itcast是爬虫文件的名称,后面的"itcast.cn"是允许去爬的范围。完成上面两步之后如图1所示。

图1 生成的工程文件截图
3、更改itcast.py爬虫文件如下,更改最开始请求的URL地址和处理URL响应的函数,程序中用到了xpath对响应进行信息提取,还有日志模块生成日志文件。
# -*- coding: utf-8 -*-
import scrapy
import logging logger = logging.getLogger(__name__) class ItcastSpider(scrapy.Spider):
name = 'itcast'
allowed_domains = ['itcast.cn'] # 允许爬去的范围
start_urls = ['http://www.itcast.cn/channel/teacher.shtml'] # 最开始请求的URL地址 # parse方法名是不能改变的,下面的属性名item是可以随意定义的
def parse(self, response):
# 处理start_url地址对应的响应
# 分组
li_list = response.xpath("//div[@class='tea_con']//li")
for li in li_list:
item = {}
item['name'] = li.xpath(".//h3/text()").extract_first()
item['title'] = li.xpath(".//h4/text()").extract_first()
logger.warning(item)
yield item
4、更改setting.py文件,将管道处理激活,即取消PIPELINES的注释,用于保存数据。

图2 激活PIPELINES
5、在setting.py文件中设置日志信息。
LOG_LEVEL = "WARNING"
LOG_FILE = './log.log'
6、在控制台输入:scrapy crawl itcast,后面itcast根据自己的爬虫文件的名字来,运行结果如下:

图3 控制台输出的爬虫信息
备注:由于爬取的数据很多,这里只是截取了包含爬虫命令的一段数据。

图4 日志文件截图
【写在最后】
到这一个简单入门的爬虫项目就完成了,后面还有很多东西要学,这里做个简单的记录。文章是根据CZ的视频学习练习的,如有侵权,删帖。
小编尊重原创,文章如有侵权,联系小编删帖,谢谢监督。转发请备注出处!
scrapy爬虫简单项目入门练习的更多相关文章
- Python爬虫教程-31-创建 Scrapy 爬虫框架项目
本篇是介绍在 Anaconda 环境下,创建 Scrapy 爬虫框架项目的步骤,且介绍比较详细 Python爬虫教程-31-创建 Scrapy 爬虫框架项目 首先说一下,本篇是在 Anaconda 环 ...
- scrapy爬虫简单案例(简单易懂 适合新手)
爬取所有的电影名字,类型,时间等信息 1.准备工作 爬取的网页 https://www.ddoutv.com/f/27-1.html 创建项目 win + R 打开cmd输入 scrapy start ...
- scrapy爬虫 简单入门
1. 使用cmd+R命令进入命令行窗口,并进入你需要创建项目的目录 cd 项目地址 2. 创建项目 scrapy startproject <项目名> cd <项目名> 例如 ...
- scrapy爬虫--10分钟入门
# -*- coding: utf-8 -*- # @Time : 2019/4/18 9:10 # @Author : wujf # @Email : 1028540310@qq.com # @Fi ...
- [Python爬虫] scrapy爬虫系列 <一>.安装及入门介绍
前面介绍了很多Selenium基于自动测试的Python爬虫程序,主要利用它的xpath语句,通过分析网页DOM树结构进行爬取内容,同时可以结合Phantomjs模拟浏览器进行鼠标或键盘操作.但是,更 ...
- 爬虫系列2:scrapy项目入门案例分析
本文从一个基础案例入手,较为详细的分析了scrapy项目的建设过程(在官方文档的基础上做了调整).主要内容如下: 0.准备工作 1.scrapy项目结构 2.编写spider 3.编写item.py ...
- Python之Scrapy爬虫框架安装及简单使用
题记:早已听闻python爬虫框架的大名.近些天学习了下其中的Scrapy爬虫框架,将自己理解的跟大家分享.有表述不当之处,望大神们斧正. 一.初窥Scrapy Scrapy是一个为了爬取网站数据,提 ...
- Scrapy 爬虫框架入门案例详解
欢迎大家关注腾讯云技术社区-博客园官方主页,我们将持续在博客园为大家推荐技术精品文章哦~ 作者:崔庆才 Scrapy入门 本篇会通过介绍一个简单的项目,走一遍Scrapy抓取流程,通过这个过程,可以对 ...
- scrapy爬虫学习系列二:scrapy简单爬虫样例学习
系列文章列表: scrapy爬虫学习系列一:scrapy爬虫环境的准备: http://www.cnblogs.com/zhaojiedi1992/p/zhaojiedi_python_00 ...
随机推荐
- 分布式ID生成器及redis,etcd分布式锁
分布式id生成器 有时我们需要能够生成类似MySQL自增ID这样不断增大,同时又不会重复的id.以支持业务中的高并发场景.比较典型的,电商促销时,短时间内会有大量的订单涌入到系统,比如每秒10w+.明 ...
- client-go实战之四:dynamicClient
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- 网络协议之TCP和UDP
TCP/IP协议: 传输控制协议/因特网互联协议( Transmission Control Protocol/Internet Protocol),是Internet最基本.最广泛的协议.它定义了计 ...
- Go并发编程--正确使用goroutine
目录 1. 对创建的gorouting负载 1.1 不要创建一个你不知道何时退出的 goroutine 1.1.1 不要帮别人做选择 1.1.2 不要作为一个旁观者 1.1.3 不要创建不知道什么时候 ...
- 安卓开发 利用百度识图api进行物体识别(java版)
之前的随笔中,已经实现了python版本调用api接口,之所以使用python是因为python比java要简洁. 但是我发现在使用过程中,chaquopy插件会弹出底部toast显示"un ...
- CentOS7下编译安装redis-5.0.9
CentOS7下编译安装redis-5.0.9 本文地址http://yangjianyong.cn/?p=171转载无需经过作者本人授权 下载redis #code start wget https ...
- 无序数组求第K大的数
问题描述 无序数组求第K大的数,其中K从1开始算. 例如:[0,3,1,8,5,2]这个数组,第2大的数是5 OJ可参考:LeetCode_0215_KthLargestElementInAnArra ...
- PHP的Sodium加密扩展函数了解
这是本次加密扩展系列的最后一篇文章,也是我们要学习了解的最后一个 PHP 加密扩展.Sodium 出现的目的也是为了代替 Mcrypt 这个原来的加密扩展.在 PHP7.2 之后,Mcrypt 已经被 ...
- 5ucms的评论列表该怎么写
查看所有评论 <a href="{sys:plusurl}comment/?id={field:id}">查看所有评论</a> <linkhref=& ...
- 深入HTML5第二天
sub(subscripted下标标签)和sup(superscripted上标标签) 内联元素:inline element span(范围标签):内联元素inline element 特性:没有 ...