一、基本环境 win10 PyCharm Python 3.6 二、scrapy 环境搭建 安装两个python模块:Twisted、scrapy。在cmd中安装会快捷一点。 安装Twisted: 执行 pip install twisted 安装scrapy:执行 pip install scrapy 【注】安装完成后,执行 pip list 检查以下上述两个模块是否安装成功。 三、在pycharm创建一个Scrapy项目 1.在pycharm中创建一个普通项目(Pure Project 即可),如下图。 2.在cmd中cd至项目所在文件夹,执行 scrapy startprojec 【Python爬虫:Scrapy】 之 PyCharm 搭建Scrapy环境及创建Scrapy项目 在本文中,我们将详细介绍如何在Windows 10环境下,使用PyCharm搭建Scrapy爬虫框架的开发环境,并创建一个新的Scrapy项目。Scrapy是一个强大的Python爬虫框架,它提供了一整套解决方案,包括数据提取、处理、存储等,适用于各种网络爬虫的开发。 确保你已经安装了Python 3.6以及集成开发环境PyCharm。接下来,我们需要安装Scrapy框架所依赖的两个Python模块:Twisted和Scrapy。这可以通过命令行工具CMD进行,输入以下命令: 1. 安装Twisted: ``` pip install twisted ``` 2. 安装Scrapy: ``` pip install scrapy ``` 安装完成后,通过`pip list`检查这两个模块是否已成功安装在你的Python环境中。 接下来,我们将使用PyCharm创建Scrapy项目: 1. 在PyCharm中,选择“File” > “New Project”,然后在左侧的“Project Type”中选择“Empty Project”或“Pure Python”项目。为项目起个名字,例如“ScrapyDemo”,并选择合适的项目存储路径,点击“Create”创建项目。 2. 为了在项目中使用Scrapy,你需要在命令行界面(或者PyCharm的内置Terminal)切换到项目根目录下,然后运行以下命令来创建一个新的Scrapy项目: ``` scrapy startproject ScrapyDemo ``` 创建完成后,你的项目结构应如下所示: ``` ScrapyDemo/ |-- scrapy.cfg # 项目配置文件 |-- ScrapyDemo/ # 爬虫项目文件夹 | |-- __init__.py # 必须存在的初始化文件 | |-- items.py # 定义爬取数据的类 | |-- middlewares.py # 中间件文件 | |-- pipelines.py # 管道文件 | |-- settings.py # 爬虫配置文件 | `-- spiders/ # 存放爬虫脚本的目录 ``` 在Scrapy项目中,我们可以编写爬虫代码来抓取网页数据。以下是一个简单的示例,用于爬取博客网站上博主第一页文章的基本属性: 1. 在`items.py`中定义你想要爬取的数据结构,如下: ```python import scrapy class ArticleItem(scrapy.Item): title = scrapy.Field() # 文章标题 type = scrapy.Field() # 文章类型(原创/转载/翻译) url = scrapy.Field() # 文章链接 date = scrapy.Field() # 文章发布日期 read_num = scrapy.Field() # 文章阅读量 ``` 2. 在`ScrapyDemo/spiders`目录下创建新的Python文件,如`spiderDemo.py`,编写爬虫逻辑: ```python import scrapy from ScrapyDemo.items import ArticleItem class CSDNArticle(scrapy.Spider): name = 'get_scdn_article' # 爬虫名称 allowed_domains = ['blog.csdn.net/Aibiabcheng'] # 爬虫域 start_urls = ['https://blog.csdn.net/Aibiabcheng'] # 爬虫地址 def output_article(self, article_list): for item in article_list: print(item['type'], '\t', item['title']) print(item['date'], '\t', item['read_num'], '\t', item['url'], '\n') def parse(self, response): article_list = [] res = response.xpath('//div[@class="article-list"]/div') for item in res: try: # 获取文章属性 type = item.xpath('./h4/a/span/text()').extract()[0] url = item.xpath('./h4/a/@href').extract()[0] title = item.xpath('./h4/a/span[@class="article-type type-1 float-none"]/following::text()').extract()[0].strip() date = item.xpath('./div[@class="info-box d-flex align-content-center"]/p/span[@class="date"]/text()').extract()[0].strip() read_num = item.xpath('./div[@class="info-box d-flex align-content-center"]/p/span[@class="read-count"]/text()').extract()[0].strip() article_list.append({ 'type': type, 'title': title, 'date': date, 'read_num': read_num, 'url': url }) except IndexError: pass self.output_article(article_list) ``` 在这个示例中,我们创建了一个名为`CSDNArticle`的爬虫类,定义了爬取的目标域名和起始URL。`parse`方法用于解析响应数据,并从中提取文章的属性。提取的属性被存储到一个字典列表`article_list`中,然后通过`output_article`方法输出。 你可以通过PyCharm运行`spiderDemo.py`来启动爬虫,它将爬取指定页面的文章信息并打印出来。 总结,本文详细介绍了在PyCharm中搭建Scrapy环境和创建Scrapy项目的过程,以及编写了一个简单的爬虫示例。通过这种方式,你可以快速地构建自己的网络爬虫,高效地抓取和处理网页数据。在实际应用中,你可以根据需求扩展中间件和管道功能,实现更复杂的爬虫逻辑和数据处理。


















- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 【 嵌入式Linux应用开发项目 - yolov8】在泰山派RK3566上用C语言部署自己的yolov8
- 本仓库存放目标检测 YOLO 系列代码及改进模块实现,需要的小伙伴可自取
- TensorFlow 实现目标检测含 MaskRCNN 及 Keras 分类与车牌、人脸识别和 GAN 实例
- 电力电子领域基于Matlab Simulink的2kW单相Boost PFC移相全桥仿真模型设计与分析
- 基于Cruise的燃料电池功率跟随仿真模型(丰田氢能源车型,WLTC工况,最高车速175kmh,最大爬坡30%) v2.5
- 基于MATLAB Simulink的高精度纯电动汽车整车仿真模型及其闭环控制方法
- 量化投资WorldQuant BRAIN算子详解:算术、逻辑、时间序列与向量运算在量化交易中的应用
- MATLAB中PSO-BP神经网络预测的模块化编程实现与优化技巧
- Comso l软件在锂离子电池电化学建模的应用与研究进展 · 有限元分析
- CST与MATLAB联合建模在超透镜及轨道角动量电磁学研究中的应用
- 后端开发领域+python开发语言+有2个PDF文件,把第2个PDF文件合并到第1个PDF文件中,PDF文件拼接合并功能
- 基于信道状态信息(CSI)的 WiFi 室内被动式目标检测技术研究 基于 CSI 的无线网络室内被动式目标检测相关技术 依托 CSI 的 WiFi 技术在室内被动式目标检测中的应用 基于信道状态信息的
- 基于COMSOL的煤层双孔单渗透瓦斯抽采模拟与应力分布分析
- 基于PID神经元网络解耦控制算法的优化研究:多变量系统控制的PSO算法应用与探索
- 整车主断面设计的具体内容与要求详解
- Alpha 因子模板库大合集



评论0