遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!


遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!


你好由于你是游客无法查看本文请你登录再进谢谢合作

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

当你在爬某些网站的时候需要你登录才可以获取数据咋整?莫慌小编把这几招传授给你让你以后从容应对

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

登录的常见方法无非是这两种1、让你输入帐号和密码登录

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

2、让你输入帐号密码+验证码登录

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

今天先跟你说说第一种需要验证码的咱们下一篇再讲第一招

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

Cookie大法你平常在上某个不为人知的网站的时候是不是发现你只要登录一次就可以一直看到你想要的内容过了一阵子才需要再次登录这就是因为 Cookie 在做怪简单来说就是每一个使用这个网站的人服务器都会给他一个 Cookie那么下次你再请求数据的时候你顺带把这个 Cookie 传过去服务器一看诶,小伙子是老客户啊

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

有登录过直接返回数据给他吧在服务中还可以设置 Cookie 的有效时间也就是说当你下次携带一个过期了的 Cookie 给服务器的时候服务器虽然知道你是老客户但是还是需要你重新再登录一次然后再给你一个有效的 CookieCookie 的时长周期是服务器那边定的ok了解了这一点之后我们就来玩一下吧我们以「逼乎」为例

https://biihu.cc/account/login/输入地址之后按一下 F12点击 network 标签然后登录你的帐号然后点击其中一个你就可以看到在 Request Headers 有你的 Cookie

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

有了 Cookie 之后我们在代码中直接获取我的个人信息

<code>import requests
headers = {
# 假装自己是浏览器
'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/73.0.3683.75 Chrome/73.0.3683.75 Safari/537.36',
# 把你刚刚拿到的Cookie塞进来
'Cookie': 'eda38d470a662ef3606390ac3b84b86f9; Hm_lvt_f1d3b035c559e31c390733e79e080736=1553503899; biihu__user_login=omvZVatKKSlcXbJGmXXew9BmqediJ4lzNoYGzLQjTR%2Fjw1wOz3o4lIacanmcNncX1PsRne5tXpE9r1sqrkdhAYQrugGVfaBICYp8BAQ7yBKnMpAwicq7pZgQ2pg38ZzFyEZVUvOvFHYj3cChZFEWqQ%3D%3D; Hm_lpvt_f1d3b035c559e31c390733e79e080736=1553505597',

}
session = requests.Session()
response = session.get('https://biihu.cc/people/wistbean%E7%9C%9F%E7%89%B9%E4%B9%88%E5%B8%85', headers=headers)
print(response.text)/<code>

运行后可以发现不用登录就可以直接拿到自己的个人信息了

<code>







/<code>

第二招

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

表单请求大法很简单就是通过抓包获取请求登录的时候需要用到的用户名密码参数然后以表单的形式请求服务器如果你细心一点的话应该会知道之前说过拉具体在这去看下我就不多说了第三招

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!

Selenium 自动登录法获取到两个输入框的元素再获取到登录按钮往输入框写你的帐号密码然后自动点击一下登录

<code>username = WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR, "帐号的selector")))
password = WAIT.until(EC.presence_of_element_located((By.CSS_SELECTOR, "密码的selector")))
submit = WAIT.until(EC.element_to_be_clickable((By.XPATH, '按钮的xpath')))
username.send_keys('你的帐号')
password.send_keys('你的密码')
submit.click()/<code>

登录完之后拿到 Cookie

<code>cookies = webdriver.get_cookies()/<code>

有了 Cookie 你就可以拿到你想要的数据了ok以上这三招希望对你有帮助


如果你对Python编程感兴趣,那么记得私信小编“学习”领取全套Python资料哦。

遇到需要的登录的网站怎么办?学好python,用这3招轻松搞定!


分享到:


相關文章: