简单scrapy爬虫实例
简单scrapy爬虫实例
流程分析
抓取内容:网站课程
页面:https://edu.hellobi.com
数据:课程名、课程链接及学习人数
观察页面url变化规律以及页面源代码帮助我们获取所有数据
1、scrapy爬虫的创建
在pycharm的Terminal中输入以下命令:
创建scrapy项目:scrapy startproject ts
进入到项目目录中:cd first
创建一个新的spider:scrapy genspider -t basic lesson hellobi.com
2、scrapy爬虫代码编写
2.1items文件编写
在items.py文件中定义自己要抓取的数据,我们要爬取天善智能网站的课程、课程链接和学习人数,需要这三者的数据,所以此时创建item的三个类。

2.2编写spider文件(lesson.py)
由于要提取该网站所有课程的消息,需要构造了所有的课程url。此时观察观察多个url,找出其中url变化的规律,以此来构造所有的url。由于每个课程都需要包含课程名、课程链接以及学习人数,所有设置相应的xpath,分别匹配item的三个类。

2.3修改pipeline.py的内容:
将爬取到的数据写入“F:/天善课程爬取/1.txt”中。

2.4修改settings.py文件,配置pipeline:

3、总结
至此,爬虫就全部编写完成了,在scrapy中xpath很重要,如果xpath提取错误的话,可能会造成许多错误。另外在输出和写入文件时也要注意,不然也会有错误发生。在程序的最后一定要关闭文件,不然最后打开文件的内容为空。
简单scrapy爬虫实例的更多相关文章
- Python 利用Python编写简单网络爬虫实例3
利用Python编写简单网络爬虫实例3 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://bbs.51testing. ...
- Python 利用Python编写简单网络爬虫实例2
利用Python编写简单网络爬虫实例2 by:授客 QQ:1033553122 实验环境 python版本:3.3.5(2.7下报错 实验目的 获取目标网站“http://www.51testing. ...
- scrapy爬虫实例(1)
爬虫实例 对象 阳光问政平台 目标 : 主题,时间,内容 爬取思路 预先设置好items import scrapy class SuperspiderItem(scrapy.Item): title ...
- Scrapy爬虫实例——校花网
学习爬虫有一段时间了,今天使用Scrapy框架将校花网的图片爬取到本地.Scrapy爬虫框架相对于使用requests库进行网页的爬取,拥有更高的性能. Scrapy官方定义:Scrapy是用于抓取网 ...
- python爬虫系列(1)——一个简单的爬虫实例
本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片. 1. 概述 本文主要实现一个简单的爬虫,目的是从一个百度贴吧页面下载图片.下载图片的步骤如下: 获取网页html文本内容:分析html中 ...
- Scrapy 爬虫实例教程(一)---简介及资源列表
Scrapy(官网 http://scrapy.org/)是一款功能强大的,用户可定制的网络爬虫软件包.其官方描述称:" Scrapy is a fast high-level screen ...
- Scrapy爬虫实例教程(二)---数据存入MySQL
书接上回 实例教程(一) 本文将详细描述使用scrapy爬去左岸读书所有文章并存入本地MySql数据库中,文中所有操作都是建立在scrapy已经配置完毕,并且系统中已经安装了Mysql数据库(有权限操 ...
- python scrapy 爬虫实例
1 创建一个项目 scrapy startproject basicbudejie 2 编写爬虫 import scrapy class Basicbudejie(scrapy.Spider): na ...
- 简单python爬虫实例
先放上url,https://music.douban.com/chart 这是豆瓣的一个音乐排行榜,这里爬取了左边部分的歌曲排行榜部分,爬虫很简单,就用到了beautifulsoup和request ...
随机推荐
- 谈下slot-scope
Vue里有个slot插槽的概念,常用的一般是命名的slot和默认的slot, 这里谈下slot-scope,Vue2.6后改成v-slot slot-scope场景是父组件用子组件的数据,但是样式自己 ...
- Android eclipse环境配置
需下载软件: JDK eclipse ADT SDK JDK的下载安装: 从官网下载JDK:http://www.oracle.com/: 安装好以后还需要进行jdk的环境配置: eclipse下载安 ...
- warning Unexpected use of undefined no-undefined
报错翻译:警告意外使用未定义的no-undefined(谷歌这次翻译的不行) 报错原因undefined直接使用了,如下↓ 其实报错的意思就是这样不安全,看下面一个例子 var foo = undef ...
- 基于S2SH开发学生考勤管理系统 附源码
开发环境: Windows操作系统开发工具:Eclipse+Jdk+Tomcat+mysql数据库 运行效果图 源码及原文链接:http://javadao.xyz/forum.php?mod=vie ...
- #《Essential C++》读书笔记# 第七章 异常处理
基础知识 异常处理机制有两个主要成分:异常的鉴定和发出,以及异常的处理方式.通常,不论是membe function和non-member function,都有可能产生异常以及处理异常.异常出现后, ...
- 小白的linux学习笔记10:安装nginx和第一个网页
sudo yum install nginx sudo systemctl status nginx sudo systemctl start nginx 检查端口:netstat -tlpn sud ...
- 【python基础语法】函数的作用域和内置函数和关键字(第7天课堂笔记)
一.函数的作用域: 1.全局变量 2.局部变量 3.global 二.内置函数 1.常见的内置函数 print : 输出 input : 输入 type : 查看数据类型 id : 获取数据的内存地址 ...
- Q函数和值函数
Q函数:奖励和 总奖励是在状态st采取行为at的奖励的期望和 值函数:奖励和 总奖励是在状态st下获得的奖励的期望和 下面是值函数另外的定义,在at行为下采取策略的Q函数的期望 是RL的目标函数,我理 ...
- lucas定理 模板
lucas定理 (nm) mod p=(⌊np⌋⌊mp⌋)(n mod&VeryTh ...
- 2.Android网络编程-web介绍以及Tomcat安装使用
1.CS和BS CS:Client/Server 客户端和服务器,这种软件往往需要安装.比如QQ.迅雷.播放器. 优点 : 可以减轻服务器端压力,将部分代码写到客户端,并且界面很美观. 缺点 : ...