来自 威尼斯国际官方网站 2019-11-28 04:53 的文章
当前位置: 威尼斯国际官方网站 > 威尼斯国际官方网站 > 正文

5下安装和测试Scrapy爬网站

Python版本:3.5    IDE:Pycharm

今天跟着网上的教程做了第一个Scrapy项目,遇到了很多问题,花了很多时间终于解决了==

 

1. 引言

Scrapy框架结构清晰,基于twisted的异步架构可以充分利用计算机资源,是爬虫做大的必备基础。本文将讲解如何快速安装此框架并使用起来。

一、Scrapy终端(scrapy shell)

Scrapy终端是一个交互终端,供我们在未启动spider的情况下尝试及调试爬取代码。 其本意是用来测试提取数据的代码,不过我们可以将其作为正常的Python终端,在上面测试任何的Python代码。

在命令行界面输入scrapy shell <url>(这里的网址不需要加引号),例如:

scrapy shell 

接着该终端(使用Scrapy下载器(downloader))获取URL内容并打印可用的对象及快捷命令(注意到以[s] 开头的行):

图片 1图片 2

  • fetch(request) - 从给定请求获取新响应,并相应地更新所有相关对象。
  • view(response) - 在本地Web浏览器中打开给定的响应,以进行检查。这将向响应正文添加一个<base>标记,以便正确显示外部链接(如图片和样式表)。但请注意,这将在您的计算机中创建一个临时文件,不会自动删除。
  • shelp() - 打印有可用对象和快捷方式列表的帮助

 

2. 安装Twisted

二、建立第一个Scrapy项目

选择一个文件夹,shift+右键然后进入命令行界面,输入以下代码新建一个Scrapy项目:

scrapy startproject HuyaLol

打开Pycharm,然后再打开我们刚建好的HuyaLol项目,在spiders文件夹下新建一个lol.py

图片 3

 

然后就可以在lol.py里编写我们的程序了,代码如下:

 1 import scrapy
 2 
 3 
 4 class huyalol(scrapy.Spider):
 5     name = "huyalol"
 6     start_urls = ["https://www.huya.com/g/lol"]
 7 
 8     def parse(self, response):
 9         title_list = response.xpath('//*[@id="js-live-list"]/li/a[2]/text()').extract()
10         name_list = response.xpath('//*[@id="js-live-list"]/li/span/span[1]/i/text()').extract()
11         for i in range(1,11):
12             print(name_list[i-1], ': ',title_list[i-1])

图片 4

然后在Pycharm里打开命令行界面,输入scrapy list可以列出当前爬虫项目下所有的爬虫文件,这里只有一个爬虫文件huyalol。

然后在命令行界面输入scrapy crawl huyalol,就可以运行我们的爬虫了,结果如下:

图片 5图片 6

 

2.1 同安装Lxml库

(参考《为编写网络爬虫程序安装Python3.5》3.1节)一样,通过下载对应版本的.whl文件先安装twisted库,下载地址: http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted

图片 7

三、遇到的问题及解决办法 

(1)利用xpath获取不到数据,反复检查代码之后,发现是引号出了问题

”//*[@id="js-live-list"]/li/a[2]/text()“

 这里两端要用单引号,因为中间使用了双引号。

(2)根据教程上把@id="js-live-list"改成@class=“title new-clickstat”后获取不到数据,这个应该注意一下。

(3)在纠正上述问题后还是没有得到数据

解决办法:把settings.py里的ROBOTSTXT_OBEY = True改成ROBOTSTXT_OBEY = False

2.2 安装twisted

打开命令提示符窗口,输入命令:

pip install E:demoTwisted-16.4.1-cp35-cp35m-win_amd64.whl(下载好的twisted模块的whl文件路径)

图片 8

3. 安装scrapy

twisted库安装成功后,安装scrapy就简单了,在命令提示符窗口直接输入命令: pip install scrapy 回车

图片 9

安装关联模块pypiwin32,在命令提示符窗口直接输入命令: pip install pypiwin32 回车

图片 10

本文由威尼斯国际官方网站发布于威尼斯国际官方网站,转载请注明出处:5下安装和测试Scrapy爬网站

关键词: