zoukankan      html  css  js  c++  java
  • Python爬虫教程-32-Scrapy 爬虫框架项目 Settings.py 介绍

    本篇介绍项目开发的过程中,对 Setting 文件的配置和使用

    Python爬虫教程-32-Scrapy 爬虫框架项目 Settings.py 介绍

    Settings 中配置 USER_AGENTS

    • 在 settings.py 文件中很多东西默认是给注释掉的,当我们需要使用的时候,根据注释的提示,我们编写我们自己的内容
      这里写图片描述
    • 例如:
    • 我们想设置一个 USER_AGENT 列表
      • 在 settings.py 文件中找到 USER_AGENT ,拷贝常用的 USER _AGENT 值在它下面
        这里写图片描述
      • 但是 settings 只有一行,就是没有具体的内容,我们想要使用的话,就需要我们自己去填写
      • 这就需要我们自己在网上找到常用的浏览器 User-Agent 值, 我找到了一些,想要使用直接拷贝就可以
    USER_AGENTS = [
        "Mozilla/5.0 (compatible; MISE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.5.727; Media Center PC 6.0)",
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36",
        "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11",
        "Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.133 Safari/534.16",
        "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:34.0) Gecko/20100101 Firefox/34.0",
        "Mozilla/5.0 (X11; U; Linux x86_64; zh-CN; rv:1.9.2.10) Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10",
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 OPR/26.0.1656.60 ", 
        "Opera/8.0 (Windows NT 5.1; U; en) ",
        "Mozilla/5.0 (Windows NT 5.1; U; en; rv:1.8.1) Gecko/20061208 Firefox/2.0.0 Opera 9.50 ", 
        "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; en) Opera 9.50",
        "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2",
        "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; QQBrowser/7.0.3698.400) ",
        "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; QQDownload 732; .NET4.0C; .NET4.0E)", 
    ]
    
    • 直接将这段代码拷贝到 Settings 文件中就可以

    Settings 中配置 PROXIES

    # IP 有效期一般20天,请自行到上述网站获取最新 IP
    PROXIES = [
        {'ip_port': '177.136.120.174:80', 'user_passwd': 'user1:pass1'},
        {'ip_port': '218.60.8.99:3129', 'user_passwd': 'user2:pass2'},
        {'ip_port': '206.189.204.62:8080', 'user_passwd': 'user3:pass3'},
        {'ip_port': '125.62.26.197:3128', 'user_passwd': 'user4:pass4'}
    ]
    
    • 这些类似的设置都是一次设置,就可以重复使用了

    关于去重

    • 很多网站都是相同的内容,比如介绍 python 爬虫的,很多很多,假设爬取到这些的时候,我们就值需要一个,利用 scrapy 的去重功能,防止它对重复网站无限制爬下去
    • 为了防止爬虫陷入死循环,需要去重
      • 即在 spider 中 parse 函数中,返回 Request 的时候加上 dont_filter = False 参数
    myspider(scrapy.Spider):
     def parse (...):
       ...
     yield scrapy.Request(url = url, callback = self.parse, dont_filter = False)
    
    • 如何在 scrapy 使用 selenium
      • 可以放入中间件中的 process _request 函数中
      • 在函数中调用 selenium,完成爬取后返回 Response
    class MyMiddleWare(object):
        def process_request(...):
            
            driver = webdriver.Chrome()
            html = driver.page_source
            driver.quit()
            
            return HtmlResponse(url = request.url, encoding = 'utf-8', body = html ,request = requeset
    

    更多文章链接:Python 爬虫随笔


    - 本笔记不允许任何个人和组织转载
  • 相关阅读:
    Rightmost Digit(快速幂+数学知识OR位运算) 分类: 数学 2015-07-03 14:56 4人阅读 评论(0) 收藏
    Can you find it? 分类: 二分查找 2015-06-10 19:55 5人阅读 评论(0) 收藏
    PIE(二分) 分类: 二分查找 2015-06-07 15:46 9人阅读 评论(0) 收藏
    HDU 1796 Howmany integers can you find (容斥原理)
    Monthly Expense(二分) 分类: 二分查找 2015-06-06 00:31 10人阅读 评论(0) 收藏
    POJ-1088 Skiing(记忆化搜索)
    悼念512汶川大地震遇难同胞――珍惜现在,感恩生活 分类: dp 2015-05-21 10:50 14人阅读 评论(0) 收藏
    hdu 1010 Tempter of the Bone 深搜+剪枝
    索引原理与慢查询优化
    多表查询
  • 原文地址:https://www.cnblogs.com/xpwi/p/9601050.html
Copyright © 2011-2022 走看看