**纯属按照我自己的想法写的,给予那些刚初学爬虫的一点小小的借鉴,
胸无点墨肚中无词如果有些不好不对之处还请各个大佬们多多见谅给
予指点。**
**创建项目**
1.手动创建一个文件夹(在桌面上键就可以)。
2.在文件夹里创建爬虫项目: scrapy startproject 项目名
(在这个文件夹的输入框直接输入cmd就可以直接进入黑窗口,然后输入上面这条命令就行)
3.进入项目中: cd 项目名
4.创建爬虫文件:scrapy genspider 爬虫名 域名(www.baidu.com)
在py里面写
1.在编辑器中打开爬虫项目(是直接打开文件夹中的项目,不是文件夹)
2.在爬虫名.py中写内容:
1》把item.py中的项目类名先导进来: from ..items import 类名
2》把allowed_domains这行给注释了,这行没用。
3》把start_urls 的网址修改为所要爬取的网址。
4》在def 中写内容: 例如:
def parse(self,response):
div_list = response.xpath(.....)
for i in div_list:
name = i.xpath(.....)
item = 类名()
item["name"] = name
yield item
3.在settings.py文件中去配置,把第19行 USER_AGENT修改请求头,把第22
行ROBOTSTXT_OBEY改为False。最后数据要入库需要把第67、68、69三行打开。
4.到items.py文件中把所求得的参数写入类中。
例如上面的: name = scrapy.Field()
5.到pipelines.py管道文件中先把mongo库导入:
1》先导包: import pymongo
2》class xxx(object):
conn = pymongo.MongoClient('localhost',27017)
db = conn.库名 这是创建库
table = db.表名 这是创建集合表
def process_item(self,item,spider):
self.table.insert(dict(item)) 以字典形式写入表中
return item
6.在终端口启动: scrapy crawl 爬虫名
清理端口运行过的数据: cls
只显示所要结果别的不显示: scrapy crawl 爬虫名 --nolog