使用python爬取百度百科

979 阅读2分钟

百度百科

是一部内容开放、自由的网络百科全书,旨在创造一个涵盖所有领域知识,服务所有互联网用户的中文知识性百科全书。在这里你可以参与词条编辑,分享贡献你的知识。今天我们就使用用python根据关键词爬取百度百科的内容,只是单纯的爬网页信息,有需要的可以参考借鉴。

抓取策略主要从以下几个方面入手:

确定目标:确定抓取网站的哪些页面的哪部分数据。本实例抓取百度百科python词条页面以及python相关词条页面的标题和简介。

分析目标:主要是分析要抓取的url的格式,限定抓取范围,还有就是分析网站的反爬措施,主要包括随机ua,cookie,代理IP这些方面进行分析。

爬虫程序执:进行数据抓取,在抓取过程中加入了代理IP,为了防止网站封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

最后对爬取的数据进行分析,并制作出数据分析结果。这是一个简单的数据爬虫的过程,其中还有很多的问题需要我们在实际爬取中去解决。文中所以使用的代理由亿牛云提供,在爬虫过程中对代理有需求的小伙伴可以去了解下他们家代理,www.16yun.cn/