# python_scrapy_weather **Repository Path**: EightDoor/python_scrapy_weather ## Basic Information - **Project Name**: python_scrapy_weather - **Description**: python爬取中国天气网的数据 使用scrapy 项目仅供参考 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2020-04-16 - **Last Updated**: 2024-05-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # python_scrapy_weather #### 介绍 python爬取中国天气网的数据 使用scrapy 项目仅供参考 #### 使用说明 1. python main.py #### 其他 # scrapy使用 - 爬取地址为中国天气网: http://forecast.weather.com.cn/town/weather1dn/101080708001.shtml#input - 基本使用 ```shell scrapy -help scrapy version #scrapy scrapy version -v #不仅仅scrapy版本,还有组件版本 scrapy genspider aaa aaa.com #可以创建多个spider scrapy list #哪几个spider scrapy view "http://www.XXX" #直接查看到网页 scrapy shell scrapy parse #可以查看到parse这个方法内的爬取情况 scrapy bench #检测scrapy是否安装成功 ############## 1.scrapy startproject 项目名称 - 在当前目录中创建中创建一个项目文件(类似于mySpider) 2. scrapy genspider [-t template] - 创建爬虫应用 如: scrapy genspider -t basic oldboy oldboy.com scrapy genspider -t xmlfeed autohome autohome.com.cn PS: 查看所有命令:scrapy genspider -l 查看模板命令:scrapy genspider -d 模板名称 3. scrapy list - 展示爬虫应用列表 4. scrapy crawl 爬虫应用名称 - 运行单独爬虫应用 ``` - Pycharm启动配置: ```python # 在scrapy.cfg同级目录创建main.py weather为爬虫的文件 from scrapy import cmdline if __name__ == '__main__': cmdline.execute("scrapy crawl weather".split()) ``` - Pycharm定时任务启动 ```python from scrapy import cmdline import schedule import subprocess import logging LOG = logging.getLogger() # 定时任务执行 def schedule_fun(): # 每6小时执行一次任务 schedule.every(360).minutes.do(job) pass # 启动爬虫爬取内容 def job(): LOG.info('开始爬虫内容~~') # cmdline.execute("scrapy crawl weather".split()) subprocess.Popen('scrapy crawl weather', shell=True) LOG.info('爬取完成~~') if __name__ == '__main__': print('scrapy启动成功~~😁') LOG.info('scrapy启动成功~~') # 初始化执行一次 job() schedule_fun() while True: schedule.run_pending() ``` - 连接mysql数据库: 地址 runoob - 定时任务schedule: 地址 - python字典、列表、字符串之间的转换: 地址