百度百科
是一部内容开放、自由的网络百科全书,旨在创造一个涵盖所有领域知识,服务所有互联网用户的中文知识性百科全书。在这里你可以参与词条编辑,分享贡献你的知识。今天我们就使用用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/。