Scrapy爬虫(7)在Windows中安装及使用Scrapy

简介:   本次分享将介绍Scrapy在Windows系统中的安装以及使用,主要解决的问题有:在Windows中安装Scrapy模块在IDE(PyCharm)中使用ScrapyScrapy导出的csv文件乱码  首先介绍如何在Windows中安装Scrapy模块。

  本次分享将介绍Scrapy在Windows系统中的安装以及使用,主要解决的问题有:

  • 在Windows中安装Scrapy模块
  • 在IDE(PyCharm)中使用Scrapy
  • Scrapy导出的csv文件乱码

  首先介绍如何在Windows中安装Scrapy模块。
  在https://www.lfd.uci.edu/~gohlke/pythonlibs/网站中下载适合自己Python版本和Windows位数的Twisted模块(Scrapy模块依赖于它)及Scrapy模块, 然后放在Python安装目录下的Scripts文件加下,用pip install方式安装。
  模块安装完毕,输入’scrapy -h’, 输出信息如下则表示Scrapy安装成功。


scrapy -h

  为了能随时随地地使用Scrapy, 需要将Scrapy添加到Windons系统的环境变量中,具体过程不再详述。
  添加到环境变量后再重启电脑,就能随时创建Scrapy项目了,至此,我们以成功地在Windows中安装了Scrapy,并能随时创建Scrapy项目。

  接着讲述如何在PyCharm中使用Scrapy.
  在cmd中输入’scrapy startproject bookSpider’创建bookSpider项目,再在PyCharm中将其导入,文件结构如下:


scrapy项目结构

  我们将完成完成与Scrapy爬虫(5)爬取当当网图书畅销榜中的项目一样的功能,只不过,这一次是在Windows的PyCharm中进行。
  在settings.py中设置“ROBOTSTXT_OBEY = False”. 修改items.py,代码如下:

import scrapy

class BookspiderItem(scrapy.Item):
    rank = scrapy.Field()
    name = scrapy.Field()
    author = scrapy.Field()
    press = scrapy.Field()
    price = scrapy.Field()
    comments = scrapy.Field()
AI 代码解读

  然后,在spiders文件夹下新建BookSpider.py,代码如下:

import scrapy
import scrapy.cmdline
from scrapy.selector import Selector
from bookSpider.items import BookspiderItem

class bookSpider(scrapy.Spider):
    name = 'bookScrapy'
    start_urls = ['http://bang.dangdang.com/books/bestsellers/01.00.00.00.00.00-recent7-0-0-1-%d'%i for i in range(1,26)]

    def parse(self, response):
        item = BookspiderItem()
        sel = Selector(response)

        book_list = response.css('ul.bang_list.clearfix.bang_list_mode').xpath('li')

        for book in book_list:
            item['rank'] = book.css('div.list_num').xpath('text()').extract_first()
            item['name'] = book.css('div.name').xpath('a/text()').extract_first()
            item['author'] = book.css('div.publisher_info')[0].xpath('a/text()').extract_first()
            item['press'] = book.css('div.publisher_info')[1].xpath('a/text()').extract_first()
            item['price'] = book.css('span.price_n').xpath('text()').extract_first()
            item['comments'] = book.css('div.star').xpath('a/text()').extract_first()

            yield item

def main():
    scrapy.cmdline.execute(['scrapy', 'crawl', 'bookScrapy', '-o', 'dangdangBook.csv', '-t', 'csv'])

main()
AI 代码解读

在上述代码中,引入scrapy.cmdline,能够执行cmd命令,并定义了main()函数来完成cmd命令的执行。

  运行BookSpider.py,程序出错,因为缺少win32api模块。


缺少win32api模块

  莫慌,可以在https://www.lfd.uci.edu/~gohlke/pythonlibs/网站中下载pywin32模块,然后安装即可。安装完pywin32模块后,再次运行BookSpider.py,这次程序运行成功!


程序运行成功

同时,该程序也生成了csv文件。


生成csv文件

  至此,我们以能够在PyCharm环境中使用Scrapy.

  生成的csv文件内容如下,


csv文件内容

我们用WPS Excel打开并没有乱码,但是用Microsoft Excel打开会乱码。解决Microsoft Excel打开乱码的问题,可以具体参考https://www.zhihu.com/question/21414417 .

  本次分享到此结束,欢迎大家交流~~

目录
打赏
0
0
0
0
8
分享
相关文章
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
201 6
Windows下Minio的安装以及基本使用
MinIO 是一个开源的云原生分布式对象存储系统,兼容亚马逊S3接口,适合存储大容量非结构化数据。本文介绍Windows下MinIO的安装与基本使用:通过以上步骤,您可以在Windows环境中成功安装并使用MinIO。
264 17
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
在这一章节,主要介绍两个部分,数据库相关概念及MySQL数据库的介绍、下载、安装、启动及连接。接着,详细描述了MySQL 8.0的版本选择与下载,推荐使用社区版(免费)。安装过程包括自定义安装路径、配置环境变量、启动和停止服务、以及客户端连接测试。此外,还提供了在同一台电脑上安装多个MySQL版本的方法及卸载步骤。最后,解释了关系型数据库(RDBMS)的特点,即基于二维表存储数据,使用SQL语言进行操作,格式统一且便于维护。通过具体的结构图展示了MySQL的数据模型,说明了数据库服务器、数据库、表和记录之间的层次关系。
【MySQL基础篇】MySQL概述、Windows下载MySQL8.0超详细图文安装教程
Windows Server 安装 MySQL 8.0 详细指南
安装 MySQL 需要谨慎,特别注意安全配置和权限管理。根据实际业务需求调整配置,确保数据库的性能和安全。
303 9
WINDOWS安装eiseg遇到的问题和解决方法
通过本文的详细步骤和问题解决方法,希望能帮助你顺利在 Windows 系统上安装和运行 EISeg。
143 2
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
240 4
|
3月前
|
如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤
本文介绍了如何在不同操作系统上安装 Redis 服务器,包括 Linux 和 Windows 的具体步骤。接着,对比了两种常用的 PHP Redis 客户端扩展:PhpRedis 和 Predis,详细说明了它们的安装方法及优缺点。最后,提供了使用 PhpRedis 和 Predis 在 PHP 中连接 Redis 服务器及进行字符串、列表、集合和哈希等数据类型的基本操作示例。
166 4
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第26天】Python是一种强大的编程语言,在数据抓取和网络爬虫领域应用广泛。Scrapy作为高效灵活的爬虫框架,为开发者提供了强大的工具集。本文通过实战案例,详细解析Scrapy框架的应用与技巧,并附上示例代码。文章介绍了Scrapy的基本概念、创建项目、编写简单爬虫、高级特性和技巧等内容。
164 4
在Scrapy爬虫中应用Crawlera进行反爬虫策略
在Scrapy爬虫中应用Crawlera进行反爬虫策略
适用于Linux的Windows子系统(WSL1)的安装与使用记录
并放到启动文件夹,就可以开机自动启动了。
331 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等