scrapy学习笔记---初识

简介: scrapy学习笔记---初识
  1. 生成一个scrapy目录
 (1)scrapy startproject 目录名           在当前目录创建scrapy项目
 (2)cd 目录名                            移动到创建的目录下
 (3)scrapy genspider demo 网站域名       生成一个demo.py文件,产生spiders爬虫
 (4)scrapy crawl demo                    执行这个demo
 (5)保存数据
      scrapy crawl demo -o test.json       将数据保存在test.json文件里
    scrapy crawl demo -o test.csv        将数据保存在test.csv文件里
    保存到数据库
        pipelines.py里的item就是传过来的数据
      插入dict(item)数据
        记得在settings.py中开启 ITEM_PIPELINES

2.yield关键字

def gen(n)
    for i in range(n):
        yield i**2
>> 结果输出的是list[0,1,4,9...]

作用:节约资源,将数据yield到pipelines里,进行数据解析

3.伪装

(1)设置代理ip
    1.进入middlewares.py文件
    2.写入代码类似:
        """
        TODO
        import base64  # 代理服务器
        class my_proxy(object):
            def process_request(self, request, spider):
                request.meta['proxy'] = 'http://http-cla.abuyun.com:9030'
                proxy_name_pass = b'H211EATS905745KC:F8FFBC929EB7D5A7'
                encode_pass_code = base64.b64encode(proxy_name_pass)
                request.headers['Proxy-Authrization'] = 'Basic '+ encode_pass_code.decode()
        """
    3.修改settings.py里的 DOWNLOADER_MIDDLEWARES值
        """
        DOWNLOADER_MIDDLEWARES = {
            'douban.middlewares.my_proxy': 543,
        }
        """

(2)随机设置http头的User_ager
    1.进入middlewares.py文件
    2.写入代码类似:
        """
        TODO
        import random
        class my_useragent(object):
            def process_request(self,request,spider):
                agents = [xxxx]
            # 随机选取agents
            agent = random.choice(agents)
            request.headers['User_Agent'] = agent
        """
    3.修改settings.py里的 DOWNLOADER_MIDDLEWARES值
        """
        DOWNLOADER_MIDDLEWARES = {
            'douban.middlewares.my_useragent': 544,
        }
        """

4.extract()

将xpath对象转换成unicode字符串
.encode("utf-8")        转成utf-8编码
目录
相关文章
|
数据采集 存储 中间件
scrapy案例教程
scrapy案例教程
85 0
|
数据采集 存储 中间件
scrapy简单入门
scrapy简单入门
67 0
|
4月前
|
存储 数据采集 中间件
scrapy实战2586个小姐姐带回家
scrapy实战2586个小姐姐带回家
57 3
scrapy实战2586个小姐姐带回家
|
7月前
|
数据采集 前端开发 中间件
python-scrapy框架(一)Spider文件夹的用法讲解
python-scrapy框架(一)Spider文件夹的用法讲解
156 0
|
6月前
|
数据采集 中间件 数据处理
scrapy的入门和使用
scrapy的入门和使用
|
数据采集 存储 中间件
Scrapy基础详解
Scrapy基础详解
254 0
Scrapy基础详解
|
数据采集 机器学习/深度学习 Web App开发
Crawler之Scrapy:Scrapy简介、安装、使用方法之详细攻略
Crawler之Scrapy:Scrapy简介、安装、使用方法之详细攻略
Crawler之Scrapy:Scrapy简介、安装、使用方法之详细攻略
|
数据采集 前端开发 数据库
Scrapy框架| Scrapy中spiders的那些事......
Scrapy框架| Scrapy中spiders的那些事......
129 0
|
Web App开发 XML 中间件
scrapy官方文档提供的常见使用问题
Scrapy与BeautifulSoup或lxml相比如何? BeautifulSoup和lxml是用于解析HTML和XML的库。Scrapy是一个用于编写Web爬虫的应用程序框架,可以抓取网站并从中提取数据。
1447 0
Scrapy框架的使用之Spider的用法
在Scrapy中,要抓取网站的链接配置、抓取逻辑、解析逻辑里其实都是在Spider中配置的。在前一节实例中,我们发现抓取逻辑也是在Spider中完成的。本节我们就来专门了解一下Spider的基本用法。