requests免密登录
一些需要登陆才能获取网页内容的网站,我们需要在请求的时候在请求头headers里面添加cookie来跳过登录,然后再获取网页内容。
而这里的cookie值需要我们先登录该网站之后在用获取user-agent属性的地方在requests里面获取cookie值
selenium免密登录
1.selenium获取淘宝cookie
用浏览器打开登陆界面
b = Chrome('files/chromedriver', options=options)
b.get('https://taobao.com')
给用户时间,去完成登陆操作
input('是否完成登录:')
登录成功后获取网页cookie信息,保存到本地文件中
result = b.get_cookies()
open('files/taobao.json', 'w').write(json.dumps(result))
2.selenium使用cookie
浏览器对象.add_cookie(cookie信息对应的字典)
注意:如果请求页面是https请求,那么cookie中secure见对应的值时False的cookie不能添加
all_cookie = json.loads(open('files/taobao.json').read())
for c_dict in all_cookie:
if c_dict['secure']:
b.add_cookie(c_dict)
之后就是正常的获取网页就可以。
使用代理
1.requests使用代理
在参数里面给proxies传参,传代理ip
# proxies参数: {'https': 'ip:端口'}
req = requests.get(url, headers