python实现网站自动登录,python 自动登录网站

  python实现网站自动登录,python 自动登录网站

  在抓取某些网页时,会因为未登录或登录状态超时而自动进入登录界面,导致抓取信息失败。您可以在本地再次保存cookie文件,并在每次爬网时导入cookie文件(cookie文件可能无效,需要再次保存。至少我抓取的网页需要每隔一天重新保存一次cookie文件。)

  什么是cookie(引用,点击链接了解详情):简单来说,cookie就是浏览器存储在用户电脑上的一小段文本文件。Cookie是纯文本格式,不包含任何可执行代码。网页或服务器告诉浏览器根据某些规范存储这些信息,然后在随后的请求中将这些信息发送给服务器,以便Web服务器可以使用这些信息来识别不同的用户。大部分需要登录的网站都会在用户认证成功后设置一个cookie。只要这个cookie存在并且可以使用,用户就可以自由浏览这个网站的任何页面。再说一次,cookie只包含数据,它们本身是无害。

  准备:命令行安装pickle

  Pippickle保存cookie文件:从selenium导入pickle导入web driver chrome path=r d:\ driver \ chrome driver . exe # chrome模拟浏览器wd=web driver . chrome(executable _ path=chrome path)# chrome浏览器wd.get(url) 登录,输入用户名和密码,点击登录按钮 pickle.dump (wd.get _ cookies()),打开( address cookie.pkl , wb )。登录操作请参考:python webdriver模拟登录。

  使用web cookie文件:

  import pickle import selenium . webdriverchromepath=r d:\ Driver \ chrome Driver . exe # chrome模拟浏览器wd=web Driver . chrome(executable _ path=chrome path)# chrome浏览器Driver . get(URL)cookies=pickle . load(open( cookies . pkl , Rb ))for cookie in cookies:Driver . add _ cookie(cookie)

  爬网程序使用cookie文件:

  import pickle import requests from selenium import web drive URL= cookies=pickle . load(open( cookie . pkl ,Rb))req=requests。Session() #为cookie中的cookie建立会话:req.cookies.set (cookie [name],Cookie[ value ])# Convert cookiesreq . headers . clear()#删除原始req中用python robot标记的信息r=req . get(URL)# Use requr . raise _ for _ status()r . encoding=r . apparent _ encoding print(r . text)

  参考:Python模拟落地万能法-微博知乎

  如何使用Python Selenium WebDriver保存和加载cookies

  请用手机‘扫’x。

  转载于:https://www.cnblogs.com/MO-OF/p/8405207.html

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: