环境:ubuntu、hadoop2.7.3

1.安装selenium

命令:sudo pip install selenium 更新:sudo pip install -U selenium

2.查看firefox版本

命令:firefox -v

3.没有查出版本的话请安装firefox

命令:sudo apt-get install firefox

注意:这步可能会报错,一般是apt需要更新(修改/etc/apt/source.list 修改后sudo apt-get update然后在安装firefox)

4.驱动firefox需要有第三方的驱动geckodriver,网上下载

5.需要将下载到的geckodriver解压放到/usr/local/bin目录下

命令:

sudo cp geckodriver-v0.14.0-linux64.tar.gz /usr/local/bin/geckodriver-v0.14.0-linux64.tar.gz

sudo tar xzf geckodriver-v0.14.0-linux64.tar.gz

sudo rm geckodriver-v0.14.0-linux64.tar.gz

6.在无界面的linux系统上需要安装虚拟的显示器

命令:sudo pip install pyvirtualdisplay selenium

7.如果系统没有安装xvfb,需要安装,才能正常运行程序

命令:sudo apt-get install xvfb

8.以下是登录微博手机版并获取用户5307898815的关注用户id代码

#-*- coding:utf-8 -*-
import  time
import re
import  os
import  sys
import codecs
import shutil
import urllib
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium.webdriver.support.ui as ui
from selenium.webdriver.common.action_chains import ActionChains
import traceback  import sys
reload(sys)
sys.setdefaultencoding("utf-8") from pyvirtualdisplay import Display
display = Display(visible=0, size=(1800, 1600))
display.start()driver = webdriver.Firefox()
wait=ui.WebDriverWait(driver,10) def LoginWeibo_cn(username,password):try:print u'准备登陆weibop.cn网站..'driver.get("https://passport.weibo.cn/signin/login?entry=mweibo&r=")# print driver.current_url ,driver.page_sourcetime.sleep(10)elem_user = driver.find_element_by_id("loginName") elem_user.send_keys(username) time.sleep(5)elem_pwd = driver.find_element_by_id("loginPassword") elem_pwd.send_keys(password)time.sleep(5)elem_sub=driver.find_element_by_id("loginAction")elem_sub.click() print u'登陆成功...'return Trueexcept Exception,e:print "Error:",ereturn Falsedef VisitPersonFollowPage(uid): try:url = 'https://weibo.cn/{}/follow?page=1'.format(uid)driver.get(url)time.sleep(1)users = driver.find_elements_by_xpath('//table')print 'len(users):',len(users) for user in users:try:link = user.find_element_by_xpath('.//td/a[2]').get_attribute("href")follow_uid_re = re.search(r'uid=(\d+)&',link)if follow_uid_re:follow_uid = follow_uid_re.group(1) print '关注用户id:',follow_uidexcept:traceback.print_exc()except:traceback.print_exc()if __name__ == '__main__': username = '用户名'            password = '密码'  login_status = LoginWeibo_cn(username, password)  if login_status:   user_id = '5307898815'VisitPersonFollowPage(user_id) driver.quit()display.stop()

9.以下是登录新浪微博电脑网页版代码

#-*- coding:utf-8 -*-
import  time
import re
import  os
import  sys
import codecs
import shutil
import urllib
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import selenium.webdriver.support.ui as ui
from selenium.webdriver.common.action_chains import ActionChains
import traceback  import sys
reload(sys)
sys.setdefaultencoding("utf-8") from pyvirtualdisplay import Display
display = Display(visible=0, size=(1800, 1600))
display.start()driver = webdriver.Firefox()
wait=ui.WebDriverWait(driver,10)def LoginWeibo_com(username,password):try:print u'准备登陆weibop.com网站..'driver.get("http://weibo.com/login?url=")time.sleep(5)# print driver.current_url ,driver.page_source  elem_user = driver.find_element_by_id('loginname')elem_user.clear() elem_user.send_keys(username)  time.sleep(3) elem_pwd = driver.find_element_by_name("password") elem_pwd.send_keys(password) time.sleep(2)elem_sub = driver.find_element_by_class_name('W_login_form').find_element_by_link_text('登录')elem_sub.click() print u'登陆成功...'except:traceback.print_exc()finally:print u'End loginWeibo!\n\n'if __name__ == '__main__':username = '用户名'              password = '密码' LoginWeibo_com(username, password)   driver.quit()display.stop()

转载于:https://www.cnblogs.com/lingwang3/p/6884832.html

linux上用selenium登录新浪微博,获取用户关注的用户id相关推荐

  1. android 从新浪微博获取用户信息,Android授权登录新浪微博获取用户个人信息

    Android授权登录新浪微博获取用户个人信息 Android授权登录新浪微博获取用户个 人信息 一.准备工作 我们都知道,无论是分享到新浪微博,还是获取新浪微博的用户信息,都离不开一样东西,那就是新 ...

  2. 监测 Linux 上失败的登录尝试方法分享

    在Linux服务器上重复的失败登录尝试可能表明有人企图闯入帐户,或者仅仅意味着有人忘了密码或输错密码.本文介绍了如何检查失败的登录尝试并检查系统的设置,查看何时锁住帐户以处理问题. 您要了解的第一件事 ...

  3. linux18.04循环登陆,在Ubuntu 18.04 Bionic Beaver Linux上启用自动登录

    目的 目标是在Ubuntu 18.04 Bionic Beaver Linux上启用自动登录 操作系统和软件版本 操作系统: - Ubuntu 18.04 Bionic Beaver Linux 软件 ...

  4. Android授权登录新浪微博获取用户个人信息

    转载请注明出处:http://blog.csdn.net/u010214991/article/details/49149793 记得第一次发博文的时候我写了一篇文章,题为" Android ...

  5. linux下次登录强制更改密码,如何强制用户在Linux上的下次登录时更改密码

    当你使用默认密码创建用户时,你必须强制用户在下一次登录时更改密码. 当你在一个组织中工作时,此选项是强制性的.因为老员工可能知道默认密码,他们可能会也可能不会尝试不当行为. 这是安全投诉之一,所以,确 ...

  6. 教你如何在 Linux 上为 SSH 登录设置电子邮件提醒

    在本文中介绍如何在Linux系统上为ssh登录设置电子邮件提醒.以接收有关对root用户的未经授权或非法登录访问的警报. .bashrc文件是做什么的? .bashrc文件是一个脚本,每当以交互方式启 ...

  7. java linux driver,JAVA:使用GeckoDriver在Linux上运行Selenium测试:驱动程序不可执行

    我目前正在 Linux机器上使用Selenium WebDriver进行测试自动化项目. (Ubuntu 16.04.3)测试可以在Windows机器上执行而没有任何错误,因为我试图在Linux VM ...

  8. Linux中FTP设置登录欢迎词,怎么为FTP登陆用户设置欢迎语(servu)

    先建立一个.txt文件,输入你想要显示的文字,然后在 Serv_u内的server设置里面,加入这个.txt文件就可以了 . 例如: --------------------------------- ...

  9. 在Linux上构建ASP.NET环境-asp.net关注

    在Linux上安装mono,xsp,mod_mono后,可以构建一个ASP.NET环境,Mono项目是由Novell支持的. mono官网地址: mono下载页面:/mono-downloads/do ...

最新文章

  1. pptv网络电视android,PP视频(原聚力视频)
  2. dalsa线扫相机调试文档_线阵相机调试文档
  3. Windows Phone开发(32):路径之PathGeometry 转:http://blog.csdn.net/tcjiaan/article/details/7469512...
  4. pandas(二) -- Dataframe创建及索引
  5. boost::range模块uniqued相关的测试程序
  6. uniapp h5 页面 解决 ios 长按无法保存图片问题(安卓支持此功能)--实现移动端长按保存图片
  7. Exynos4412 裸机开发 —— IIC总线
  8. matlab线性串联校正,基于MATLAB串联超前校正设计.ppt
  9. 股票决定卖不卖?近六成粉丝支持马斯克出售10%特斯拉股票
  10. 操作手机数据库的uri
  11. 程序媛爬取了 5 个 APP 的 4220 个数据,解读过去的一年到底过得怎么样!
  12. linux虚拟机网卡无法启动
  13. 分布式服务框架-原理与实践:15---服务降级-学习笔记
  14. 内蒙古工业大学计算机好调剂吗,内蒙古工业大学信息工程学院2017硕士研究生第三次调剂公告...
  15. 直播平台软件开发的全流程探索
  16. vue+element弹窗可拖拽拉伸和弹窗内table高度自适应
  17. 【ES】原生es的复杂查询
  18. 非常详细的 navigationController 的使用
  19. 每秒处理10万订单支付架构
  20. 多云管理行政管理规范需求_征服多云管理的6种工具

热门文章

  1. python3 messagebox_如何在Python3.4中正确实现tkMessageBox?
  2. ubuntu安装python_使用WSL在Windows上搭建Python开发环境
  3. 使用c 对mysql数据库_c对mysql数据库的操作
  4. 步骤mysql_mysql 安装 等步骤(一)
  5. python的setting怎么找_vscode配置python之settings.json 智能提示
  6. 远播教育集团PHP面试题,远播教育金牌升学规划师陈煜雯:如何规划孩子的升学?【摇号】...
  7. 15个常用的javaScript正则表达式
  8. android开发switch自动关闭,更改Android Switch状态
  9. C语言中 二维数组在内存中的存放顺序是,在计算机中二维数组的元素是按行顺序存放的,即在内存中,先顺序存放二维数组第一行的元素,再顺序存放二维数组第二行的元素,以此类推 答案:对...
  10. datatable更新到mysql_.NET_使用DataTable更新数据库(增,删,改),1、修改数据复制代码 代码如 - phpStudy...