Python 作为一门解释型的语言,它天生具有跨平台的特征,只要为平台提供了相应的 Python 解释器,Python 就可以在该平台上运行。那Python这么火爆,几乎可以说是很多人都会选择学Python,但是学是一回事,用又是另一回事了。理论终将是纸上谈兵,是骡子是马得拉出来溜溜。为了帮助大家更快的掌握Python,今天小编给大家分享一些python实践项目。 我们就以简单的访问百度为实践项目,很多小伙伴以访问百度是最简单的,没有什么难度,事情并没有那么简单,只要获取稍微有价值点的数据,网站都有反爬机制的。像百度访问太频繁了最容易遇到的就是封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除了遇到网站封IP以外还有,还有请求头之User-agent这个稍微接触过爬虫的应该都不陌生,不是说接触Python爬虫,不管你用什么开发语言来写爬虫,应该都会用到这个。还有就是请求头之Cookies,有一部分网站,当你访问首页时,会自动设置一个cookie,然后访问同站下的其他页面就会验证这个字段,如果不匹配就会禁止访问,我们上面访问百度都会自动设置一些cookie。
|