1.scrapy架构如下:
爬虫其实就是模拟http发送请求获得响应,如图所示,一个请求由spiders发出,到达Engine后,将任务发给调度器,调度器分配好以后任务返回引擎,然后请求到达下载器后返回响应,响应再次通过引擎返回spider来解析,提取完信息后交给管道来写入信息。
2.在生成爬虫项目的时候系统的变量名千万不要更改,今天闲的蛋疼把start_urls改成了start_url,给自己找了半天麻烦
3.在解析的时候可以穿插打印信息,由此来判断此步骤是否成功
4.今天继续调试,response的解析没问题,下载到文件夹的时候成功不了,也就是pipelines写的方法有问题,明天抽空继续调试
二、MongoDb的安装和使用
1.通过官网下载mongoDb64位,最开始下载的是msi包,安装了好几次,每次都卡死机,mmp,后来下的压缩包,经过配置直接用。
2.在D盘建立MongoDB文件夹,在MongoDB文件下建立data\db文件夹作为数据文件的存储路径,然后建立logs文件夹存储日志文件。
3.将MongoDB安装到D:\MongoDB路径下,因为我用的压缩包,直接解压到此路径即可
4.到D:\MongoDB路径下,启动终端cmd,并执行命令:mongod --dbpath "D:\mongodb\data\db" --logpath "D:\mongodb\logs\log.txt" --install -serviceName "MongoDB"
关于命令中的参数说明
参数 描述
--bind_ip 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定则默认本地所有IP
--logpath 定MongoDB日志文件,注意是指定文件不是目录
--logappend 使用追加的方式写日志
--dbpath 指定数据库路径
--port 指定服务端口号,默认端口27017
--serviceName 指定服务名称
--serviceDisplayName 指定服务名称,有多个mongodb服务时执行。
--install 指定作为一个Windows服务安装。
5.输入net start MongoDb 即可显示服务启动成功
6.在python3中测试mongodb是否可用
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = myclient["runoobdb"]
mycol = mydb["sites"]
mydict = {"name":"zhangsan", "alexa":"10000", "url":"https://www.baidu.com"}
x = mycol.insert_one(mydict)
print(x)