2022-12-29 16:39

很多人学Python都想掌握爬虫,觉得爬虫在手天下我有。可是太多人都是从基础学起,学着学着就不知道该学习哪里了。介于此原因,专门出一篇爬虫相关的内容。先来了解一下爬虫的流程爬虫需要哪些配置。

1、爬虫架构:爬虫架构主要由五个部分组成,分别是调度器、URL管理器、网页下载器、网页解析器、应用程序。

2、爬虫原理:在编写python爬虫程序时,只需要做以下两件事:发送GET请求,获取HTML解析HTML,获取数据。

3、使用ip代理:使用Python爬虫时,经常会遇到有反爬机制的网站。我们可以通过伪装headers爬行,但网站仍然可以获得您的ip,从而禁止您的ip爬行信息。因此需要使用到代理IP,IP的质量也对爬取速度和数据量有影响。所以尽量选择高质量的代理IP。比如亿牛云代理,不仅提供了传统的api获取模式可以满足我们自己管理IP池的需求,还提供了隧道转发模式,使用上变的更简单,更富有利于爬虫项目的进行,使用也更稳定。隧道代理简单的使用方式如下:

#! -*- encoding:utf-8 -*-

    import requests
    import random

    # 要访问的目标页面
    targetUrl = "http://httpbin.org/ip"

    # 要访问的目标HTTPS页面
    # targetUrl = "https://httpbin.org/ip"

    # 代理服务器(产品官网 www.16yun.cn)
    proxyHost = "t.16yun.cn"
    proxyPort = "31111"

    # 代理验证信息
    proxyUser = "username"
    proxyPass = "password"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }

    # 设置 http和https访问都是用HTTP代理
    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }


    #  设置IP切换头
    tunnel = random.randint(1,10000)
    headers = {"Proxy-Tunnel": str(tunnel)}



    resp = requests.get(targetUrl, proxies=proxies, headers=headers)

    print resp.status_code
    print resp.text

python爬虫是最方便快捷获取数据的方法,不过很多小伙伴还没有切实地感受过。


评论