python爬虫进阶实践
现在这个时代,网络爬虫的价值就不多说了,Python 的便捷与强大有目共睹的,在这个数据泛滥、追求效率的时代,使用 Python 可以为我们创造相当多的便捷,Web 开发、桌面小工具开发、、大数据处理、图像处理、机器学习等等,能做到的事情实在太多。
对于大多数网站来说爬虫是有利的,而恶意的爬虫就适得其反了。正常来说我们想要获取某些网站数据应该通过他们的开放 API 进行合法授权访问,但是企业毕竟是企业,都是有所保留的开放 API 权限,所以有时候我们不得不使用暴力手段来洗劫有价值的数据,这也就是爬虫存在的一大价值。爬虫技术最核心的可能就是 HTTP 请求了,学会爬虫至少应该掌握 HTTP 的 POST 和 GET 请求方法,还有譬如通常至少要保证 User-Agent、Referer、Cookie 等的正确使用,还有一个重点就是代理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
示例里面的代理由亿牛云提供,一家专业做爬虫代理IP的,对代理IP方面有需求的可以直接选择他们家试试,产品质量有保证,售后服务也是非常好的。
python爬虫进阶实践
xiaotaomi
会员积分:6520
现在这个时代,网络爬虫的价值就不多说了,Python 的便捷与强大有目共睹的,在这个数据泛滥、追求效率的时代,使用 Python 可以为我们创造相当多的便捷,Web 开发、桌面小工具开发、、大数据处理、图像处理、机器学习等等,能做到的事情实在太多。
对于大多数网站来说爬虫是有利的,而恶意的爬虫就适得其反了。正常来说我们想要获取某些网站数据应该通过他们的开放 API 进行合法授权访问,但是企业毕竟是企业,都是有所保留的开放 API 权限,所以有时候我们不得不使用暴力手段来洗劫有价值的数据,这也就是爬虫存在的一大价值。爬虫技术最核心的可能就是 HTTP 请求了,学会爬虫至少应该掌握 HTTP 的 POST 和 GET 请求方法,还有譬如通常至少要保证 User-Agent、Referer、Cookie 等的正确使用,还有一个重点就是代理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
示例里面的代理由亿牛云提供,一家专业做爬虫代理IP的,对代理IP方面有需求的可以直接选择他们家试试,产品质量有保证,售后服务也是非常好的。
22-07-29 16:36
732
0
回复
暂无评论