| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Scrapy爬取北京公交并保存MYSQL数据库实例 -> 正文阅读 |
|
[大数据]Scrapy爬取北京公交并保存MYSQL数据库实例 |
????????前言就不过多赘述了,大家只要把scrapy的基本了解之后就可以完成这个项目。 一:创建scrapy项目:?打开控制台输入 scrapy startproject beibus(这个是项目名称,可以自己修改) 进入项目文件夹创建爬虫scrapy genspider (爬虫名) (域名) ?查看beibus项目,如果有刚刚创建的爬虫名称的py文件,说明爬虫创建成功 二:设置settings 打开settings.py文件,修改ROBOTSTXT_OBEY的值为False ? 并且将DEFAULT_REQUEST_HEADERS参数取消注释,在后方加上User-Agent参数,这个参数大家可以自行选择网站,笔者这边选择的是www.baidu.com的headers ?三:创建并编写start_requests方法
此方法名固定,启动scrapy首先启动该方法。 获取一级url之后使用callback将url回调到parse_index方法 四:创建并编写parse_index方法
使用response.xpath获取需要的数据,笔者这边获取的是公交路线之后的二级url ?使用urljoin拼接url和刚刚爬取的href获取二级url之后callback回调到parse_detail方法 五:在parse_detail方法获取需要爬取的数据 笔者这边爬取的数据是公交路线名称,公交路线以及起点和终点 ? ?
?name trip luxian ? ?至此,数据爬取完成。下面是scrapy爬取数据导入数据库的步骤。 一:进入 items.py 文件,修改其中的 class 以格式化数据 ?二:在 bei_bus.py 文件的 parse_detail方法的末尾添加如下语句,以格式化数据
三:在 MySQL 的 bus?数据库中创建一个 businfo表 ?四:在 settings.py 文件末尾添加如下参数
(根据个人实际更改) 五:在 pipelines.py 文件中,修改 class 名称为 MySQL Pipeline,添加初始 化方法,将 host、user、password、db、charset 从 settings 中读取出来,并通 过添加一个 connect()方法建立与数据库的连接
六:添加一个 close_spider方法,用于关闭 MySQL 数据库连接
七:实现 process_item()方法,用于完成向数据库中插入数据的操作
八:在 settings.py 中将 ITEM_PIPELINES 方法的注释去掉,并将其中的内容 改为“'beibus.pipelines.MysqlPipeline':300”,
九:执行 “scrapy crawl bei_bus”命令,启动爬虫项目 ?最后查看一下mysql数据
Scrapy爬取北京公交完成! |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 12:34:58- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |