python爬虫-使用selenium自动登录微博

news/2024/7/19 9:13:37 标签: python, 爬虫, selenium

环境准备:anaconda、pycharm编辑器、chromedriver(记得下载)
首先查看本地anaconda的python环境和selenium版本号(不同版本的api接口可能不同)

python">conda list python

输出

python"># Name                    Version                   Build  Channel
ipython                   8.12.0          py311hecd8cb5_0  
ipython_genutils          0.2.0              pyhd3eb1b0_1  
msgpack-python            1.0.3           py311ha357a0b_0  
python                    3.11.3               h1fd4e5f_0  
python-dateutil           2.8.2              pyhd3eb1b0_0  
python-fastjsonschema     2.16.2          py311hecd8cb5_0  
python-json-logger        2.0.7           py311hecd8cb5_0  
python-libarchive-c       2.9                pyhd3eb1b0_1  
python-lmdb               1.4.1           py311hcec6c5f_0  
python-lsp-black          1.2.1           py311hecd8cb5_0  
python-lsp-jsonrpc        1.0.0              pyhd3eb1b0_0  
python-lsp-server         1.7.2           py311hecd8cb5_0  
python-slugify            5.0.2              pyhd3eb1b0_0  
python-snappy             0.6.1           py311hcec6c5f_0  
python.app                3               py311h6c40b1e_0  

我的python版本是3.11.3,所以我默认下载的selenium版本号是 selenium 4.11.2

自动登录的python脚本代码如下:

python">import time
from selenium import webdriver
from selenium.webdriver.common.by import By

def csv_writer(item):
    with open("weibo.csv", "a", newline='') as csvfile:
        writer = csv.writer(csvfile)
        writer.writerow(item)

def login():
    driver.get("https://weibo.com/login.php")
    time.sleep(5)
    # 旧版本的接口是driver.find_element_by_id,自行更改
    username = driver.find_element(by=By.ID, value="loginname")
    username.send_keys('此处换成你自己的用户名')
    time.sleep(3)
    password = driver.find_element(by=By.NAME, value="password")
    password.send_keys('此处换成你自己的密码')
    time.sleep(3)
    submit = driver.find_element(by=By.XPATH, value='//*[@class="W_btn_a btn_32px"]')
    submit.click()
    time.sleep(3600)

if __name__ == "__main__":
    driver = webdriver.Chrome()
    login()
    time.sleep(3600)

最后运行这个脚本文件即可自动登录微博


http://www.niftyadmin.cn/n/4978922.html

相关文章

c++中的基本类型

专栏简介:为什么我要重新介绍c的相关知识,在此之前,我对于c的了解也仅仅是在表面。而在后来与c慢慢的接触中,c编程语言越来越让我觉得深奥,所以还是想要重新开创一个专栏来介绍c。对于c的介绍,本专栏会先介…

分布式训练如何节省内存加载数据集

问题 对于内存中的数据集,每个进程都将在内存中保存一个(冗余的)数据集副本,内存消耗将随着进程数线性增加。 我们知道,分布式训练数据集加载内存占用和节点数量成正比,每个节点都会加载一份数据集到内存&a…

C++ sort函数用法

sort函数是C标准库中的一个排序算法,头文件是algorithm,用于对容器中的元素进行排序。它可以对任何可排序的容器(如数组、向量、列表等)进行排序。 有以下四个基本用法: 1. 自定义排序规则:可以通过提供自…

Windows server 2016——SQL server 数据库和表的管理

作者简介:一名云计算网络运维人员、每天分享网络与运维的技术与干货。 公众号:网络豆 座右铭:低头赶路,敬事如仪 个人主页: 网络豆的主页​​​​​ 目录 写在前面 介绍 一.SQL Server的数据存储结构 1.文件…

用js如何实现将手机号中间的几位数字变成****

今天,我们要实现一个很常见并且简单的功能:将手机号中间的几位数变成**** 这个功能其实很常见,比如我们微信的账号安全里面显示的手机号、掘金的账号设置里面显示的手机号、支付宝里面的证件号码、各大银行的App卡号…还有很多有关系到我们私…

(Deep Learning)准确率和召回率的基础概念

算法模型极大的提升了对各类结果的预测效率。 【算法模型的本质】 算法模型的本质,是基于输入的各类变量因子,通过计算规则(模型or公式),得出预测结果。 典型的预测结果比如: 1.(通过历史行为…

菜鸟教程《Python 3 教程》笔记(1):基本数据类型

菜鸟教程《Python 3 教程》笔记(1):基本数据类型 1 基本数据类型1.1 Number(数字)1.2 String(字符串)1.3 bool(布尔类型)1.4 List(列表)1.5 Tuple…

mysql和mybatisPlus实现:datetime类型的字段范围查询

前提说明 数据库在存储数据时,我们为了精确一下时间,便会把改时间类型的字段设置为datetime类型; 在过滤数据库数据时,我们又需要对该字段进行一个范围的过滤 由此,便出现了这篇博客 datetime数据类型 在MySQL中,datetime数据类型用于保存日期和时间的值。它的格式为Y…