1.scrapy是为了爬取网站数据,提取结构性数据而编写的应用框架,只需要少量的代码,就能够快速的抓取所需的东西,Twisted异步网络框架,可以加快我们的下载速度
2.流程:装包:pip install scrapy pip install pywin32
创建一个自己的爬虫:打开cmd 用cd 切换到自己想要创建的位置 然后 scrapy startproject Myspider >cd Myspider>scrapy genspider itcat itcast.cn 》tree查看创建好的爬虫 》启动:scrapy crawl itcast

cmd 上面的一些命令
:网址:http://www.itcast.cn/channel/teacher.shtml
。。。。。。。。。。。。。。。。。
使用scrapy crawl itcast启动后爬取信息的一些效果 ,如图:
#不想前面出现太多的日志,可以去setting上面设置一下 如图:
这样子就好看一些。。。。。。(其实也不好看)
用yield item 传到piplines.py那里,然后直接在piplines.py(print(item),再去setting.py那里68 行那里开启piplines,如图:

通过在pipelines.py和setting上设置可以知道,pipeline的权重越小优先级越重,如图:

如果将pipelines.py的return给注释掉结果会返回none值,如图:
。。。。。。。。。。。。。。。。。。。。。。。。。。。
itcast的代码
class ItcastSpider(scrapy.Spider):
name = 'itcast'#爬虫名称
allowed_domains = ['itcast.cn']#允许爬取的范围
start_urls = ['http://www.itcast.cn/channel/teacher.shtml']#最开始请求的url地址
def parse(self, response):
#处理start_url地址对应的响应
#jiesao=response.xpath('//li/div/p/text()').extract()
#print(jiesao)
div_lsit = response.xpath('//li/div[@class="li_txt"]')
#content_list = []
for div in div_lsit:
item = {}
#extract_first()和extract()[0]是一样的
item['名字:']=div.xpath('.//h3/text()').extract_first()
item['简介:']=div.xpath('.//p/text()').extract()[0]
# content_list.append(item)
#print(item)
#传到pipelines.py
yield item
#yield content_list
piplines的代码
# -*- coding: utf-8 -*-
# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: https://docs.scrapy.org/en/latest/topics/item-pipeline.html
import json
class MyspiderPipeline(object):
def process_item(self, item, spider):
with open('teacherline.txt','a')as f:
json.dump(item,f,ensure_ascii=False,indent=2)
return item
class MyspiderPipeline(object):
def process_item(self, item, spider):
item['hello']="word"
# print(item)
#如果注释了下面的return返回的将是none值
return item
class MyspiderPipeline1(object):
def process_item(self, item, spider):
print(item)
return item
未完持续更新中。。。。。。。。。。。。
来源:CSDN
作者:飞上蓝天!
链接:https://blog.csdn.net/weixin_43321726/article/details/103604821