安装
安装依赖
sudo apt-get install build-essential python3-dev libssl-dev libffi-dev libxml2 libxml2-dev libxslt1-dev zlib1g-dev
安装
pip install scrapy
Scrapy 是一个基于 Twisted 的异步处理框架,是纯 Python 实现的爬虫框架,其架构清晰,可拓展性强
间的榈合程度低,可扩展性极强,可以灵活完成各种需求 。
创建项目
进入要创建项目的目录Scrapy(这个是自己选择),输入命令创建项目
scrapy startproject Baidu
进入第一个Baidu目录,创建spider,spidername不能和项目名相同,域名限制为baidu.com只爬取此域名下网页
cd Baidu
scrapy genspider BaiduSpider baidu.com
还是在第一个Baidu目录,在项目目录下起动爬虫
scrapy crawl BaiduSpider
!!!要将机器人协议修改为False,ROBOTSTXT_OBEY = False
如何在Pycharm运行Scrapy,在Baidu目录下创建 main.py名字自己取,添加如下代码,运行main.py就行
#导包
from scrapy import cmdline
#输入命令
cmdline.execute('scrapy crawl BaiduSpider'.split())
简单测试一下
# -*- coding: utf-8 -*-
import scrapy
class BaiduspiderSpider(scrapy.Spider):
name = 'BaiduSpider'
allowed_domains = ['baidu.com']
start_urls = ['http://baidu.com/']
def parse(self, response):
#重写pass方法
with open('baidu.html','w',encoding='utf-8') as f:
f.write(response.body.decode('utf-8'))
shell调试
#进入环境
conda activate Scrapy
#测试网站
scrapy shell 'www.baidu.com'
response <200>表示请求成功
response.body输出bytes格式网页内容
response.text输出str格式网页内容