python爬虫框架Scrapy 1.4.0免费版是一套基于基于Twisted的异步处理框架,纯python实现的爬虫框架,用户只需要定制开发几个模块就可以轻松的实现一个爬虫,用来抓取网页内容以及各种图片,非常之方便。
Scrapy 1.4 没有带来许多令人惊叹的新功能,但进行了相当多的方便的改进。
Scrapy 现在通过新的 :setting:`FTP_USER` 和 :setting:`FTP_PASSWORD` 设置,支持使用可自定义的用户和密码进行匿名 FTP 会话。
如果使用 Twisted 17.1.0 或更高版本,FTP 现在可以与 Python 3 一起使用。
0.准备工作
需要准备的东西: Python、scrapy、一个IDE或者随便什么文本编辑工具。
1.技术部已经研究决定了,你来写爬虫。
随便建一个工作目录,然后用命令行建立一个工程,工程名为miao,可以替换为你喜欢的名字。
scrapy startproject miao
1
scrapy startproject miao
随后你会得到如下的一个由scrapy创建的目录结构
在spiders文件夹中创建一个python文件,比如miao.py,来作为爬虫的脚本。
内容如下:
import scrapy
class NgaSpider(scrapy.Spider):
name = "NgaSpider"
host = "http://bbs.ngacn.cc/"
# start_urls是我们准备爬的初始页
start_urls = [
"http://bbs.ngacn.cc/thread.php?fid=406",
]
# 这个是解析函数,如果不特别指明的话,scrapy抓回来的页面会由这个函数进行解析。
# 对页面的处理和分析工作都在此进行,这个示例里我们只是简单地把页面内容打印出来。
def parse(self, response):
print response.body
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
import scrapy
class NgaSpider(scrapy.Spider):
name = "NgaSpider"
host = "http://bbs.ngacn.cc/"
# start_urls是我们准备爬的初始页
start_urls = [
"http://bbs.ngacn.cc/thread.php?fid=406",
]
# 这个是解析函数,如果不特别指明的话,scrapy抓回来的页面会由这个函数进行解析。
# 对页面的处理和分析工作都在此进行,这个示例里我们只是简单地把页面内容打印出来。
def parse(self, response):
print response.body
2.跑一个试试?
如果用命令行的话就这样:
cd miao
scrapy crawl NgaSpider
1
2
cd miao
scrapy crawl NgaSpider
你可以看到爬虫君已经把你坛星际区第一页打印出来了,当然由于没有任何处理,所以混杂着html标签和js脚本都一并打印出来了。
140.5M / 09-05
76.4M / 03-25
55M / 06-05
237.9M / 04-13
900.9M / 03-02
96.2M / 07-06
311.2M / 07-06
335M / 07-06
200M / 07-06
413.8M / 07-06
484.7M / 09-27
165.4M / 09-05
353.9M / 06-05
131.8M / 04-13
195.6M / 03-03
45.6M / 09-08
665.2M / 07-06
2.84G / 07-06
93M / 07-06
338.3M / 07-06
1.38G / 07-26
488.3M / 07-16
109.8M / 06-03
142M / 01-08
1.2M / 11-23
548.8M / 04-13
1.6M / 04-13
1.48G / 03-18
646.6M / 03-03
133.7M / 03-03
110.5M / 09-05
33.4M / 09-05
325.8M / 08-12
60M / 04-29
254M / 04-25
659M / 04-23
1M / 12-26
253.4M / 12-08
253M / 12-08
1.19G / 11-16
369M / 09-22
181.5M / 09-22
201.2M / 09-05
488.3M / 07-16
248.9M / 12-08
248.9M / 12-08
100.6M / 03-06
148.9M / 03-06
1.12G / 07-06
1.25G / 07-06
126.7M / 02-04
1.76G / 09-22
1.92G / 04-17
201.5M / 04-13
7.31G / 07-01
94.3M / 07-06
2.48G / 07-06
7.63G / 07-06
1M / 07-06
778.1M / 07-06
561.8M / 07-11
72M / 07-06
548.7M / 07-06
1.00G / 07-06
9.13G / 07-06
126.2M / 07-06
72M / 07-06
105.1M / 07-06
132M / 07-06
132M / 07-06