您的位置:首页 > 编程语言 > Python开发

基于python的-反反爬虫手段

2018-03-06 20:37 239 查看
# -*- coding:utf-8 -*-
import requests

# 抓包工具
# charles
# fiddler

# 参数1: url,填网址
# 参数2: params,网址后需要添加的参数
# 参数3: **kwargs,不定长键值对参数,一般key=value
# 在参数3中,headers={},
#          cookies={} 或者cookieJar
#          timeout=小数或者元祖
response = requests.get("http://www.baidu.com", headers={"User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:53.0) Gecko/20100101 Firefox/53.0"})
print("响应头",response.headers)
print("响应数据",response.content)
print("响应行中的状态码",response.status_code)
print("响应行中的短语",response.reason)

# 反爬虫的手段之一:
# 通过请求的User-Agent字段来判断你是不是一个爬虫

# 反反爬虫的手段之一:
# 通过修改请求头的User-Agent字段来突破反爬虫的手段

"""
爬虫程序                             服务器
编写爬虫代码,发起请求,接收响应,爬取数据------------>监控到某个时间段,访问量突然增大,冰球发起请求的ip地址相同,对User-Agent字段判断
在发起请求时,添加User-Agent字段,模仿用户代理------->检测到某个ip访问速率过高,限制访问频率
在发请求时,使用代理ip,设置请求时间间隔------------->需要登录后才能获取数据
注册网站账号,模拟cookie/token登录,发起请求--------->健全账号体系,只有相互关注的好友才能访问
注册多个账户,进行爬虫----------------------------->发现请求过于频繁,弹出验证码
使用云打码平台进行验证----------------------------->增加动态页面,比较重要的数据,使用Js发起请求动态加载
1.抓取Js骑牛,模拟发送
2.selenium完全模拟用户行为,操作网页----------------> 放弃

"""
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: