Scrapy学习笔记(一)
1.安装scrapy框架:
1.安装scrapy:打开命令行,执行pip install scrapy
即可安装。
2.如果在windows下,还需要安装pypiwin32
,如果不安装,那么以后运行scrapy项目的时候就会报错。安装方式:pip install pypiwin32
。
2.创建项目和爬虫:
1.创建项目:scrapy startproject[爬虫的名字]
。
这里我创建了一个名叫 jingdong的scrapy项目:
默认生成的文件:
1.items.py:用来存放爬虫爬取下来数据的模型。
2.middlewares.py:用来存放各种中间件的文件。
3.pipelines.py:用来将items的模型存储到本地磁盘中。
4.settings.py:本爬虫的一些配置信息(比如请求头、多久发送一次请求、ip代理池等)
5.scrapy.cfg:项目的配置文件。
6.spiders包:以后所有的爬虫,都是存放到这个里面。
2.创建爬虫:进入到项目所在的路径,执行命令:scrapy genspider[爬虫名字][ 爬虫的域名]
。注意,爬虫名字不能和项目名称一致。
创建了一个名叫jingdong_spider的用来爬取京东的文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200222214813121.png
这就是初始化好的jingdong_spider.py文件
3.修改两个重要的参数
通过pycharm,打开项目所在文件,打开settings.py
第一个参数ROBOTSTXT_OBEY=False
,默认是True,把它修改成False
第二个参数DEFAULT_REQUEST_HEADERS
添加请求头信息Use-Agent
4.创建一个scrapy爬取京东小案例
代码如下:
# -*- coding: utf-8 -*-
import scrapy
from urllib import request
class JingdongSpiderSpider(scrapy.Spider):
name = 'jingdong_spider'
allowed_domains = ['jd.com']
start_urls = ['https://search.jd.com/Search?keyword=nike%E7%94%B7%E9%9E%8B&enc=utf-8&suggest=7.his.0.0&wq=&pvid=db4cab5a0eb941caace0a1a48ae70dae']
def parse(self, response):
shoes_lists=response.xpath('//li[@class="gl-item"]//img/@source-data-lazy-img')
for item in shoes_lists:
picture = "https:"+item.get()
name = picture.split('/')[-1]
request.urlretrieve(picture,'E:\爬虫\jindong_nike\\'+name)
print('='*60)
写完后,我们通过命令行来运行下scrapy crawl jingdong_spider
jingdong_spider是一个.py文件,我们用过命令行来运行,不过在此之间,要先进入到所创建的scrapy项目文件下(否则,无效),我的项目在jingdong的文件夹下
这里是一些scrapy爬取所生成的信息:
效果如下: