python模拟用户浏览器登陆网站

news/2024/5/9 22:36:04/文章来源:https://blog.csdn.net/weixin_33878457/article/details/92564580

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

【前置条件】

Python 2.7.13 |CentOS release 6.5

方案一:使用urllib2库
首先使用自己的账号和密码在浏览器登录,然后通过抓包拿到cookie,再将cookie放到请求之中发送请求即可,具体代码如下:

# -*- coding: utf-8 -*-import urllib2# 构建一个已经登录过的用户的headers信息
headers = {"Host":"www.renren.com","Connection":"keep-alive","Upgrade-Insecure-Requests":"1","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36","Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8","Accept-Language":"zh-CN,zh;q=0.8,en;q=0.6",# 添加抓包获取的cookie,这个Cookie是保存了密码无需重复登录的用户的Cookie,里面记录了用户名及密码等登录信息(我这里只显示一部分)"Cookie": "anonymid=jpj3x8dl3bucfp; depovince=BJ; _r01_=1; jebe_key=03bdf34f-49ca-4aba-abff-d6552c90711e%7Ccfcd208495d565ef66e7dff9f98764da%7C1544494102650%7C0; jebecookies=1bca8ed4-b76b-4c5e-a599-ce7c2112f0cd|||||; JSESSIONID=abcZvYrHBc6em41wacBEw; ick_login=6c5bdd5d-b553-44be-a851-33b5130b4c69; _de=B5B94B4549137285E481BC4A8D8B28816DEBB8C2103DE356; p=783f97b6a51eea1dc5ee76b1e1a2a1702; first_login_flag=1; ln_uact=****; ln_hurl=http://hdn.xnimg.cn/photos/hdn421/20130628/1430/h_main_c7bN_86290000032f113e.jpg; t=395e99e55de1ae9abca18e8e05b612702; societyguester=395e99e55de1ae9abca18e8e05b612702; id=245451152; xnsid=64f44934; loginfrom=syshome"
}# 通过headers里的报头信息(主要是Cookie信息),构建Request对象
request = urllib2.Request("http://www.renren.com/", headers = headers)
# 直接访问renren主页,服务器会根据headers报头信息(主要是Cookie信息),判断这是一个已经登录的用户,并返回相应的页面
response = urllib2.urlopen(request)
# 打印响应内容
print response.read()
request = urllib2.Request("http://www.renren.com/226003000/profile?v=info_timeline", headers = headers)
response = urllib2.urlopen(request)
print response.read()

方案二selenium+phantomjs模拟浏览器登录:

linux没有成功,windows实验成功

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import timedriver = webdriver.PhantomJS(executable_path=r'F:\tools\phantomjs-2.1.1-windows\bin\phantomjs.exe')
driver.get("http://www.renren.com/")# 输入账号密码
driver.find_element_by_name("email").send_keys("用户名")
driver.find_element_by_name("password").send_keys("密码")# 模拟点击登录
driver.find_element_by_xpath("//input[@class='input-submit login-btn']").click()# 等待3秒
time.sleep(3)# 生成登陆后快照
driver.save_screenshot("renren.png")

【异常1】
Traceback (most recent call last):
  File "loginsp.py", line 2, in <module>
    from selenium import webdriver
ImportError: No module named selenium
解决方法:
F:\workspace\python>pip install selenium

【异常2】
    os.path.basename(self.path), self.start_error_message)
selenium.common.exceptions.WebDriverException: Message: 'phantomjs' executable n
eeds to be in PATH.
解决方法:
下载phantomjs.exe,解压后在代码中配置具体路径:

【官网地址】http://phantomjs.org/download.html

方案三:selenium+chromedriver实现模拟登陆

模拟登陆:job.cdeledu.com

# -*- coding: utf-8 -*-from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import os
import timechromedriver = "C:/Program Files (x86)/Google/Chrome/Application/chromedriver"
os.environ["webdriver.chrome.driver"] = chromedriver
driver = webdriver.Chrome(chromedriver) #模拟打开浏览器
url = "http://job.cdeledu.com"
driver.get(url) #打开网址  
driver.maximize_window()
# 输入账号密码
#driver.find_element_by_class_name(name)
driver.find_element_by_id("username").send_keys("username")
#注意,下面这一步非常关键,浪费了好多脑细胞,此行代码解决下面异常的关键代码
driver.find_element_by_id("plainCode").click()
driver.find_element_by_id("password").send_keys('password')
time.sleep(3)driver.find_element_by_xpath("//a[@class='loginSubmit']").click()

【官方网址】http://chromedriver.storage.googleapis.com/index.html
异常1:selenium.common.exceptions.ElementNotVisibleException: Message: element not interactable
解决方案:见源代码
浏览器版本:chrome68.0.3440.106
https://dl.lancdn.com/landian/software/chrome/m/?utm_sources=DownPageBot

异常2:selenium-server打开chrome提示chromedriver.exe已停止工作
版本问题。

转载于:https://my.oschina.net/guiguketang/blog/2986704

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_794029.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LAMP架构部署和动态网站环境的配置

实验环境&#xff1a; 操作系统&#xff1a;centos 7.5 服务器IP&#xff1a;192.168.10.5 运行用户&#xff1a;root 连接工具&#xff1a;xshell工具 web环境&#xff1a;Linuxapachephpmariadb&#xff08;LAMP架构&#xff09; 大型动态应用系统平台主要是针对于大流量、高…

10个帮助你优化网站的 .htaccess 技巧

“.htaccess”文件旺旺被网页设计师们忽略。假如你还不知道什么是htaccess的话&#xff0c;你可以去查一下wikipedia。它是目录级别的配置文件&#xff0c;有常用的网页服务器支持这种配置&#xff0c;例如Apache。下面我将列出10条有用的.htaccess配置技巧。 1. 反盗链 那些盗…

emlog rss.php,emlog伪静态设置-我的建站第一天 - 慕轲博客-建立自己的个人自媒体博客...

由于我住的地方网络比较卡&#xff0c;大的引擎比较卡&#xff0c;打开慢&#xff0c;果断选择emlog这款cms建了个个人博客&#xff0c;那么刚用问题就来了&#xff0c;什么问题呢&#xff1f;建站的人都知道&#xff0c;网站一般都要做静态或者伪静态的&#xff0c;emlog不支持…

计算机组成原理寄存器初始化,8255的寻址与初始化-计算机组成原理与汇编语言-电子发烧友网站...

6.5.18255的寻址及连接使用8255占外设编址的4个地址,即A口、B口、C口和控制寄存器各占一个外设接口地址。对同一个地址分别可以进行读写操作。根据这种寻址结构,可以方便地将8255连接到系统总线上,如图6.27上所示。由图6.27可见,8255与8088总线连接是比较容易的。只是图中为了简…

sql服务器网站备份工具,使用 SQL Server 工具备份服务器场 (Search Server 2008)

使用 SQL Server 工具备份服务器场 (Search Server 2008)06/16/2015本文内容更新时间: 2008年7月应用到: Microsoft Search Server 2008上一次修改主题&#xff1a; 2009-12-02草稿内容 本文是过去针对此产品的早期版本发布的&#xff0c;现在未经任何更改又针对此版本进行发布…

easyui获取图片路径_初学Python-只需4步,爬取网站图片(附py文件)

很多人学习Python很重要的一个原因是&#xff0c;可以很简单的把一个网站的数据爬下来。尤其是做我们这一行&#xff0c;产品经理&#xff0c;电商行业。领导&#xff1a;弄一个买卖游戏周边商品的交易APP出来。我&#xff1a;行&#xff0c;那我们卖什么呀&#xff1f;领导&am…

搜索引擎制作_搜索引擎优化方法_网站制作流程:网站建设7个基本流程!

发布时间:2020-12-08 10:12:16从目前来看&#xff0c;每天都会有大量的初创企业诞生&#xff0c;作为企业主而言&#xff0c;第一时间想到的事情&#xff0c;就是建立一个网站&#xff0c;但由于初创企业&#xff0c;并没有专业相关的网站制作人员&#xff0c;往往是寻求网站建…

apache服务器配置tls_Linux 系统管理及服务配置实战-第43章 APACHE网站服务器构建I...

Apache服务器1 简介1.1 前言UI的转变&#xff1a;B/S架构1.2 名词HTMLHyperText Markup Language 网页使用HTML,PHP,JAVA语言格式书写的文件。主页网页中呈现用户的第一个页面。URLUniform Resource Locator 统一资源定位符1.3 Web ServerNginx&#xff08;Tengine&#xff09;…

php网站无法预缆,解决wp-super-cache无法(预)缓存问题

突然发现WP-SUPER-CACHE无法预缓存&#xff0c;点击【立即加载预缓存】后没有任何效果&#xff0c;并且垃圾回收定时器也失效了&#xff0c;缓存文件全是几天前的&#xff0c;感觉很奇怪&#xff01;闲下来的时候&#xff0c;突然想起前些天对博客做的一些优化&#xff0c;于是…

PPTV网站强化移动视频高端内容

随着移动互联网用户规模的快速增长&#xff0c;移动终端的商业价值也在日益显现。聚力传媒(PPTV.com&#xff0c;以下简称“PPTV网站”)近日在移动终端动作频频&#xff0c;继iPad深度专刊改版后再次发力高端人群&#xff0c;率先行业打造移动终端专业财经视频内容&#xff0c;…

阿里云部署Java网站和微信开发调试心得技巧

阿里云部署Java网站和微信开发调试心得技巧(上) 阿里云部署Java网站和微信开发调试心得技巧&#xff08;上&#xff09; 本篇手记旨在帮助大家从0开始&#xff1a; 申请阿里云服务器搭建出程序的执行环境在服务器上发布并运行自己的web project域名解析微信测试号的申请与连接…

探究 Stack Overflow 网站的热点问题排名算法

引入&#xff1a;几乎所有搞开发的人都对Stack Overflow不陌生&#xff0c;它是一个专门的Q&A类型的网站http://dbanotes.net/startup/stack_overflow_success.html &#xff08;类似这种网站的例子还有很多&#xff0c;比如新浪问问&#xff0c;百度搜搜等&#xff09;你如…

为什么别人做小说网站轻易IP上万,自己做甚至不收录

2019独角兽企业重金招聘Python工程师标准>>> 最近与博客联盟(blogunion.org)的老曾好友聊了下关于小说网站&#xff0c;听说小说网站轻易IP上万&#xff0c;而自己做甚至不收录(当然不是老曾本人的)&#xff0c;感到十分困惑。于是深度了解下&#xff0c;后来发现&a…

公司网站,邮箱,文件服务器搭建实战

项目案例&#xff1a;Tarena公司要求实现公司网站&#xff0c;邮箱&#xff0c;文件服务器的运营&#xff0c;并保证安全可靠&#xff0c;方便管理。项目分析&#xff1a;为实现要求我们首先要购买域名tarena.com。然后配置一台DNS和WEB服务器&#xff0c;因为这是公司的主要业…

网站安全狗Apache 3.5版升级 新增网站后台防护功能

2019独角兽企业重金招聘Python工程师标准>>> 网站安全狗是一款集网站内容安全防护、网站资源保护及网站流量保护功能为一体的服务器网站安全防护软件。功能涵盖了网马/木马扫描、防SQL注入、防盗链、防CC攻击、网站后台防护、一句话木马防护、网站流量实时监控、网站…

【python 3.6】从网站抓图并存放到本地路径

#!/usr/bin/python # -*- coding: UTF-8 -*- _author_ BH8ANKimport urllib.request import re import os import time#os.rmdir("D:/images")#1&#xff0c;打开页面&#xff0c;读取图片张数,抓html wangzhi "https://www.zhihu.com/question/43551423"…

如何把不同尺寸ico格式图标_网站ico 图标不会做?用这个小工具轻松搞定

给自己的网站加上一个小图标&#xff0c;显示既专业又美观。网站左上角显示的小图标一般是ico格式的图片&#xff0c;然后在HTML里使用代码去设置ico小图片为该网站的小标。设计软件设计出来的图标一般是png、jpg这等格式的&#xff0c;但ico图标不同于png、jpg这类常见的图片格…

seo日常工作表_谷歌SEO优化工具大全

在做谷歌SEO工作的时候&#xff0c;我们经常性会强调SEO是一个细节性很强的工作&#xff0c;因此&#xff0c;有的时候我们不能进行批量自动化的工作&#xff0c;比如&#xff1a;①外链自动群发②内容批量伪原创在某种情况下&#xff0c;我们认为这是一种相对情况&#xff0c;…

发布原型html文件_Axure教程:高效访问的原型托管网站(1)

由于Axure自带的服务器 Axshare部署在海外的&#xff0c;导致国内的小伙伴在访问上传的项目原型链接时很慢&#xff0c;有时甚至打不开。接下来&#xff0c;推荐给大家几个国内的原型托管网站。第一个&#xff1a;axhub1、平台链接&#xff1a;https://axhub.imaxhub是一个原型…

企业域名备案流程_个人和企业网站申请公安备案的流程总结

我们常给网站备案是在工信部备案&#xff0c;但现在又多一个备案是在公安的备案&#xff0c;以下耀忠根据近期给客户网站进行公安备案的相关步骤流程简单整理一下&#xff0c;希望对大家有所帮助。1、注册账号。打开全国互联网安全管理服务平台网&#xff1a;www.beian.gov.cn&…