Python爬虫基础教程(28)Python Scrapy爬虫实战:天气预报之数据存储到MySQL:Python偷天换日:用Scrapy把天气预报存进MySQL!

Scrapy爬虫存天气数据到MySQL

哎呦喂,各位爬虫小能手们,今天咱们来聊点实在的——怎么用Scrapy这个神器,把天气预报数据爬下来,然后优雅地塞进MySQL数据库

别跟我说你还在用Requests+BeautifulSoup那种“原始人组合”,或者更惨——手动复制粘贴(不会真有人这么干吧?)。是时候升级你的装备库了,Scrapy这把“瑞士军刀”不用起来,简直对不起你写的那么多Python代码!

一、为啥要选Scrapy?它比手动复制强在哪?

先来说说Scrapy这个“狠角色”。如果说普通的爬虫库是自行车,那Scrapy就是豪华超跑——自带发动机、导航系统和防撞保险杠!

Scrapy的杀手锏功能:

  • 内置CSS选择器和XPath解析:不用再额外导入解析库,写起来那叫一个丝滑
  • 自动请求调度:不用你操心怎么管理请求队列,它自动帮你排队处理
  • 中间件支持:想加代理?换User-Agent?So easy!
  • 数据管道:这就是今天的主角,专门用来处理数据存储的
  • 并发控制:想开多快就开多快(当然要遵守交通规则)

说白了,Scrapy让你专注于数据提取这个核心业务,而不是整天纠结于网络请求、队列管理这些杂事。

二、环境准备:装好你的“爬虫装备库”

在开始我们的“偷天换日”大计之前,得先把装备配齐了。

1. 安装必备包:

pip install scrapy pymysql cryptography
  • scrapy:今天的主角,爬虫框架
  • pymysql:Python连接MySQL的驱动
  • cryptography:有时候连接数据库需要这个加密库

2. 创建MySQL数据库:

在你本地的MySQL里执行以下SQL:

CREATE DATABASE weather_data;
USE weather_data;

CREATE TABLE weather (
    id INT AUTO_INCREMENT PRIMARY KEY,
    city VARCHAR(50) NOT NULL,
    date DATE NOT NULL,
    temperature VARCHAR(20),
    weather_condition VARCHAR(50),
    wind_direction VARCHAR(50),
    wind_force VARCHAR(20),
    crawl_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

看这个表结构多清晰,城市、日期、温度、天气状况、风向风力,还有自动记录爬取时间。完美!

三、创建Scrapy项目:搭建你的“爬虫工厂”

是时候亮出我们的Scrapy绝技了!

1. 创建项目:

scrapy startproject weather_spider
cd weather_spider
scrapy genspider weather_example "example.com"

运行完这几行命令,你会看到一个完整的项目结构:

weather_spider/
    scrapy.cfg
    weather_spider/
        __init__.py
        items.py
        middlewares.py
        pipelines.py
        settings.py
        spiders/
            __init__.py
            weather_example.py<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

值引力

持续创作,多谢支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值