基于selenium的twitter博文评论爬虫

2023-11-08

技术合作联系:13958075150

【1】首次登录获取cookies并存为文件

from selenium import webdriver
import time
import json

br = webdriver.Chrome()
br.get("https://twitter.com/login?prefetchTimestamp=1574961630352")



# 填写手机号
user_name = br.find_element_by_css_selector('#page-container > div > div.signin-wrapper > form > fieldset > div:nth-child(2) > input')
user_name.send_keys('您的账号')


# 填写密码
password_input = br.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/fieldset/div[2]/input')
password_input.send_keys('您的密码')


# 登陆
br.find_element_by_xpath('//*[@id="page-container"]/div/div[1]/form/div[2]/button').click()
time.sleep(5)
cookies = br.get_cookies()
# print(cookies)
with open('/Users/macbookair/Desktop/cookies-twitter.json', 'w') as f:
    self_cookies = f.write(json.dumps(cookies))

 

【2】从文件读取cookie并爬去目标数据



# url = 'https://twitter.com/washingtonpost/status/998271391605706752'
num=66
for url in get_links()[num:]:
    print(num)
    if "https" in url:
        print(url)
        

#         url = 'https://twitter.com/washingtonpost/status/975722353631121409'
        br = webdriver.Chrome()
        br.get("https://twitter.com")
        with open('/Users/macbookair/Desktop/cookies-twitter.json') as f:
            cookies = json.loads(f.read())
        for cookie in cookies:
            if 'expiry' in cookie:
                del cookie['expiry']
            br.add_cookie(cookie)
        br.get(url)
        # return br
        
        
        commits = set()
        get_data()
        click_more_replay()
        
        
#         js = "var b=document.getElementsByClassName('css-18t94o4 css-1dbjc4n r-1777fci r-1jayybb r-o7ynqc r-1j63xyz r-13qz1uu')"
#         br.execute_script(js)
        
        
        click_more_button()
        click_show_uncontent()


        # 实现页面下拉

        js="var q=document.documentElement.scrollTop=100000"
        for i in range(25):
            time.sleep(2)
            br.execute_script(js)
            click_more_replay()
            click_show_uncontent()
            click_more_button()
            get_data()
            # 保存数据到文件
        save_data_to_file(url,commits=get_data())
        br.quit()
    num+=1

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

基于selenium的twitter博文评论爬虫 的相关文章

随机推荐

  • 嵌入式数据库sqlite3【基础篇】-基本命令操作,小白一看就懂

    前言 数据在实际工作中应用非常广泛 数据库的产品也比较多 oracle DB2 SQL2000 mySQL 基于嵌入式linux的数据库主要有SQLite Firebird Berkeley DB eXtremeDB 本文主要讲解数据库SQ
  • Python画图常用代码总结,这20个画图代码现拿现用

    目录 前言 1 散点图 2 带边界的气泡图 3 带线性回归最佳拟合线的散点图 4 抖动图 5 计数图 6 边缘直方图 7 边缘箱形图 9 矩阵图 10 发散型条形图 11 发散型文本 12 发散型包点图 13 带标记的发散型棒棒糖图 14
  • 聚焦功能安全,Imagination如何助力更安全的汽车芯片

    8 月29 日 由 OFweek 维科网主办 OFweek 电子工程网承办的 OFweek 2023中国国际汽车产业大会 在深圳圆满收官 本次大会以 芯动 行动 驾驭未来 为主题 邀请了业内众多专家学者 围绕车载芯片 MCU 传感器 车联网
  • 安装tomcat的步骤与部署服务详解

    目录 一安装tomcat步骤 1 首先关闭防火墙跟安全机制 2 安装jdk把jdk包与tomcat的包下载到 opt目录 3 然后用命令查看安装好的版本号 4 安装好jdk后需要把他设置到环境变量中去以免系统找不到 5 下来装tomcat
  • UnboundLocalError: local variable ‘loss’ referenced before assignment解决方法

    Traceback most recent call last File src main py line 442 in
  • c++之构造函数详解

    C 构造函数的理解 相对于C语言来说 C 有一个比较好的特性就是构造函数 即类通过一个或者几个特殊的成员函数来控制其对象的初始化过程 构造函数的任务 就是初始化对象的数据成员 无论何时只要类的对象被创建 就会执行构造函数 构造函数的语法 构
  • SCI投稿中的状态解读

    转载 SCI投稿中的简写 ADM AE EIC等 与状态解读https blog csdn net Strive For Future article details 113932172
  • 运输层---UDP协议

    目录 一 无连接运输 UDP 1 1 定义 1 2 特点 1 3 应用 二 UDP报文段结构 三 UDP检验和 3 1 定义 3 2 检验和计算实例 3 3 UDP检验和的局限 一 无连接运输 UDP 1 1 定义 UDP User Dat
  • 高光谱图像选择波段的研究

    免责声明 本文仅代表个人观点 如有错误 请读者自己鉴别 如果本文不小心含有别人的原创内容 请联系我删除 本人心血制作 若转载请注明出处 本文是根据 魏芳洁 所著的 高光谱图像波段选择方法的研究 一文而写 基本细节皆引自此文 高光谱主要问题是
  • svn 错误 以及 中文翻译

    比较长 如何查找不方便的话 用查找 CTRL F 吧 Simplified Chinese translation for subversion package This file is distributed under the same
  • GraphPad Prism 9 for Mac 的使用教程

    一 图形类型怎么选择 1 XY 折线图 散点图 适用于线性回归 非线性回归 相关性分析 2 Column 柱状图 适用于单因素的统计分析 如单个样本的t检验 3 Grouped 适用于两个因素或者多因素的方差分析 4 Contingency
  • 多线程案例

    目录 一 单例模式 二 阻塞式队列 三 定时器 四 线程池 一 单例模式 单例模式其实是一种设计模式 而设计模式简单来说其实就是针对一些常见场景给出的一些经典解决方案 让程序员可以更好的解决问题 我们到目前为止一般涉及到的设计模式有两种 单
  • MySQL 数据类型

    MySQL支持多种类型 大致可以分为三类 数值 日期 时间和字符串 字符 类型 数值类型 MySQL支持所有标准SQL数值数据类型 这些类型包括严格数值数据类型 INTEGER SMALLINT DECIMAL和NUMERIC 以及近似数值
  • RedisJSON介绍

    RedisJSON 是一种高性能 JSON 文档存储 允许开发人员构建现代应用程序 它在内存中存储和处理 JSON 以亚毫秒级支持每秒数百万次操作响应时间 JSON 文档的原生索引 查询和全文搜索允许开发人员创建二级索引 快速查询数据 企业
  • 微电网日前优化调度 。算例有代码(1)

    个人电气博文传送门 学好电气全靠它 个人电气博文目录 持续更新中 符号说明 问题1 求解 经济性评估方案 若微网中蓄电池不作用 且微网与电网交换功率无约束 在无可再生能源和 可再生能源全额利用两种情况下 分别计算各时段负荷的供电构成 kW
  • 跑马灯-------寄存器版本

    拿到一个工程模板 首先要编译 编译成功之后再删除main 内容 这样编译不会出错 程序步骤 配置时钟使能寄存器 RCC AHB1ENR寄存器 用来时钟使能 然后 跑马灯IO口是PF9 PF10 GPIOF在RCC AHB1ENR 中是第五位
  • Eclipse 插件开发中使用Target Platform

    使用Eclipse IDE做插件 Plugin 开发的时候 有时会遇到开发的平台跟当前Eclipse版本不一致的问题 解决办法之一就是在当前项目中定义自己的target platform 文件 创建Target Platform文件 1 创
  • 服务降级、熔断、限流

    目录 目录 1 概念 1 1 降级 1 1 1 常见降级 1 1 2 示例 1 2 熔断 1 2 1 熔断设计 1 2 2 示例 1 3 限流 1 3 1 算法 1 3 2 示例 2 区别 3 案例 1 概念 1 1 降级 服务降级处理是在
  • java 判断两个字符串的字符集是否相同

    问题描述 给定两个字符串判断它们的字符集是否相同 例如 aaabbcc 和 abc 的字符集是相同的 字符集都是 a b c 解题方法 这题与变形词不同在于仅仅要求字符集相同 对数量和长度没有要求 而变形词是要求重复出现的次数也要相同 可以
  • 基于selenium的twitter博文评论爬虫

    技术合作联系 13958075150 1 首次登录获取cookies并存为文件 from selenium import webdriver import time import json br webdriver Chrome br ge