美文网首页
codition 8

codition 8

作者: 李小萌mmm | 来源:发表于2019-01-18 09:31 被阅读0次

一.在scrapy框架中如何设置代理(两种方法)?

1.在中间键添加
middleware.py

from scrapy import signals
from fake_useragent import UserAgent
 
# 代理 
class Proxy_MD(object):
    def process_request(self,request,spider):
        request.meta['proxy'] = 'http://58.218.198.170:18569'
 
 
# User-Agent
class Random_UA(object):
    def process_request(self,request,spider):
        ua = UserAgent().random
        request.headers.setdefault('User-Agent',ua)

然后在settings中配置这个中间件

SPIDER_MIDDLEWARES = {
    'pirctures.middlewares.Proxy_MD': 543,
'pirctures.middlewares.Random_UA': 542,
}

2.在爬虫文件中添加


import scrapy
 
class TestSpider(scrapy.Spider):
    name = 'test'
    # allowed_domains = ['www.baidu.com']
 
    # 本地爬虫配置文件
    custom_settings = {
        'DOWNLOADER_MIDDLEWARES' : {
           'Test_C.middlewares.Random_UA': 1,
            # 'Test_C.middlewares.Proxy_MD':2
        },
 
    }
 
    def start_requests(self):
        urls = 'https://www.baidu.com/s?wd=ip'
        proxy = 'http://58.218.198.169:13759'
        yield scrapy.Request(url=urls,callback=self.parse,meta={'proxy':proxy})
 
 
    def parse(self, response):
        print('*_' * 20)
        print(response.css('.c-gap-right::text').extract())
        print(response.css('.c-span21.c-span-last.op-ip-detail td::text').extract()[1].strip())
        print(response.status)
        print('*_'*20)


####二.scrapy中如何实现限速?

自动限速设定:

在setting.py开启相关扩展:

AUTOTHROTTLE_ENABLED = True
设定爬取速度:

DOWNLOAD_DELAY = 1 #单位为秒

####三,接触过哪些反爬机制?如何处理?

反爬机制
robots协议、UA、封IP、验证码、动态数据加载、数据加密、token处理:

处理方法
配置不遵守robots协议、
伪装User-Agent、代理IP更换、打码平台对验证码识别、selenium处理或者使用抓包工具去抓取
动态加载的AJAX请求数据包、按照已知的各种加密方式进行解密、
去前台页面进行token值的查找手动放入请求携带的参数中


主 可以读写
从 只能读
主如果垮掉了 把从变成主 需要一定的时间

系统部署
部署在哪里? 阿里云 移动的机房 电信的机房 机房进去都要身份证
怎么部署的啊? 画图 带个本子 (本子要有东西在上面)

相关文章

  • codition 8

    一.在scrapy框架中如何设置代理(两种方法)? 1.在中间键添加middleware.py 然后在settin...

  • Condition 实现原理

    Condition 实现原理 说 Codition 前,需要说下 ConditioObject。Condition...

  • codition 4

    一.什么是redis?redis是一个key-value存储系统。和Memcached类似,它支持存储的value...

  • codition 5

    一.redis的适用场景? 二.反爬有哪些策略,你是如何克服的? 三.集群与分布式的区别 ? 四.鉴权 是指验证⽤...

  • codition 7

    1常见Mysql的慢查询优化方式? 链接文章地址https://blog.csdn.net/qq_35571554...

  • codition 9

    一.常见的关系型数据库和非关系型都有哪些? 1.关系型数据库: 关系模型就是指二维表格模型,因而一个关系型数据库就...

  • 死磕java concurrent包系列(三)基于Reentra

    基于Codition分析AQS的条件队列 首发于:https://juejin.im/post/5c053e546...

  • 8-8-8

    发-发-发 今天比较闲,备忘录看了一遍又一遍,发现没有什么具体的工作非得马上完成。 又不想看微博浪费时间,想来想去...

  • 8、8

    山重水复疑无路,柳暗花明又一村。人生有万千种可能,但是真的有一种成功,叫坚持到底!

  • 8/8

    今天有人问我,你的脾气一直都是这么好的吗?还是说你也看人的? 我笑笑说,你觉得呢? 虽然表面上,我波澜不惊,可我的...

网友评论

      本文标题:codition 8

      本文链接:https://www.haomeiwen.com/subject/avqwdqtx.html