下载器:发送请求,返回响应给spider
管道:接收需要存储的数据,处理这些数据(存、存json、存csv....)
下载中间件:请求发送前添加代理、切换user-agent等处理...
//div[@class=‘li_txt‘]
h3
h4
p
更换IP方式:
Ip :电脑Ip(代理池)

Tor :暗网,访问慢,动态Ip
ADSL :拨号上网,动态Ip(断开重新连接,会更换IP)
必须背下来的命令:
# 创建一个Scrapy项目,名为XXX
scrapy startproject XXX
# 创建一个Scrapy.Spider类的爬虫,爬虫名为xxx,所属网站域名为xxx.com
scrapy genspider xxx "xxx.com"
# 执行爬虫xxx,表示启动爬虫
scrapy crawl xxx
# 执行爬虫,并按json格式存储结果,默认Unicode编码
scrapy crawl itcast -o itcast.json
# 执行爬虫,并按csv格式存储结果
scrapy crawl itcast -o itcast.csv
scrapy.Spider类爬虫必备的参数:
# 导入scrapy
import scrapy
class ItcastSpider(scrapy.Spider):
# 当前爬虫文件的爬虫名,对应执行爬虫的爬虫名称
name = "xxx"
# 允许当前爬虫爬取的网站域名范围,不在域名列表内的网页将不爬取
allowed_domains = [‘xxx.com‘, ‘xxxx.com‘]
#启动爬虫后,开始爬取的第一批url地址将从start_urls里获取
start_urls = [‘‘]
# scrapy.Spider类的爬虫,返回的响应对象默认由parse()函数处理
def parse(self, response):
print response.body
scrapy项目使用流程:
1. 创建项目: scrapy startproject
2. 编写item : item.py 定义存储数据的字段
3. 编写spider: spiders/spider.py 用来发送start_urls请求,并 parse() 处理响应提取数据, yield item(交给管道) yield Request(交给调度器去下载)
4. 编写pipelines:pipelines.py 处理通过spider返回的item数据
5. 启用管道: settings.py ITEM_PIPELINES 启用自定义的管道
6. 编写middlewares(如果有的话): middlewares 处理发送前的请求(添加代理)
启动MongoDB服务: 储存数据:字典格式
sudo mongod
启动MongoDB Shell
sudo mongo
1. 查看当前所有
show dbs
2. 切换指定
use Douban
3. 查看当前下所有的表
show collections
> DoubanMovie
4. 查看当前下指定表的数据
db.DoubanMovie.find()
MongoDB
Redis
MySQL
pip -V
sudo pip install pip --upgrade
sudo pip install scrapy --upgrade
Scrapyd 的远程部署和监控
1. 安装Scrapyd
sudo pip install scrapyd # 安装scrapyd服务
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-77069-4.html
你的未来你决定
但是偏偏三哥就是不开窍
让有智慧