python3 [爬虫入门实战] 爬虫之selenium 模拟QQ登陆抓取好友说说内容(暂留)

2023-11-03

很遗憾,部分数据有些问题,不过还是可以进行爬取出来的

先贴上源代码

#encoding=utf8
from selenium import webdriver
import re
from  bs4 import BeautifulSoup
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains

import time


#使用selenium
# driver = webdriver.PhantomJS(executable_path="D:\\phantomjs.exe") #因为这里把phantomjs.exe 放在py35下了,所以可以不用设置

#1 使用selenium
driver = webdriver.PhantomJS()

# 2调用get方法,进入到网页
def getdata_byQQ(QQ):
    driver.get('https://user.qzone.qq.com/{}/311'.format(QQ))

    # 3 让页面滚动到下面
    driver.execute_script("window.scrollBy(0,3000)")
    time.sleep(3)

    driver.execute_script("window.scrollBy(0,5000)")
    time.sleep(3)

    # 4 得到页中内容
    page_data = driver.page_source
    # print('page_data  '+page_data)

    # 以上方法的内容是没有得到登陆许可的,所以要进行登陆
    try:
        driver.find_element_by_id('login_div') # 找到登陆入口
        a = True
    except:
        a = False
    if a == True:
        driver.switch_to_frame('login_frame')
        driver.find_element_by_id('switcher_plogin').click()
        driver.find_element_by_id('u').clear()  # 选择用户名框
        driver.find_element_by_id('u').send_keys('QQ号')
        driver.find_element_by_id('p').clear()
        driver.find_element_by_id('p').send_keys('QQ密码')
        driver.find_element_by_id('login_button').click()
        time.sleep(3)
        driver.implicitly_wait(3)

    try:
        # 是否设置了权限
        driver.find_element_by_id('QM_OwnerInfo_Icon')
        b = True
    except:
        b = False

    if b == True:
        driver.switch_to_frame('app_canvas_frame')
        content = driver.find_element_by_css_selector('.content')
        stime = driver.find_element_by_css_selector('.c_tx.c_tx3.goDetail')
        for con,sti in zip(content,stime):
            data = {
                'time':sti.text,
                'shuos':con.text
            }
            print(data)
        pages = driver.page_source
        soup = BeautifulSoup.get(pages,'lxml')
    # 这里尝试获取cookie
    cookie = driver.get_cookies()
    cookie_dict = []

    for c in cookie:
        ck = "{0}={1};".format(c['name'], c['value'])
        cookie_dict.append(ck)
    i = ''
    for c in cookie_dict:
        i += c
    print('Cookies:', i)
    print("==========完成================")
    driver.close()
    driver.quit()
getdata_byQQ(643435675)

再贴上学习blog:http://zmister.com/archives/98.html

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

python3 [爬虫入门实战] 爬虫之selenium 模拟QQ登陆抓取好友说说内容(暂留) 的相关文章

随机推荐

  • 高云FPGA系列教程(2):FPGA点灯工程创建、程序下载和固化

    文章目录 toc 1 工程目录创建 2 新建工程 3 设计输入 4 设计仿真 5 综合 6 管脚分配 7 时钟约束 8 比特流文件生成 9 程序下载 10 程序固化 11 总结 12 工程下载 本文是高云FPGA系列教程的第2篇文章 介绍完
  • 产业大数据应用:洞察区域产业实况,把握区域经济脉搏

    随着新一代信息技术的崛起 我们进入了大数据时代 在这个时代 数据作为基本生产要素不仅改变着我们的日常生活 更是在区域产业经济发展中扮演着重要角色 它赋予了政府 企业和投资者敏锐的洞察力 一 摸清区域经济现状 基于区域产业经济数据的收集及导入
  • Halcon-表面检测-----裂纹检测

    对应示例程序 detect mura defects blur hdev 目标 实例实现LCD上有很多污点干扰下 检测LCD的印痕检测 思路为 对LCD图像进行拆分 提取RGB三个分量 对B分量进行处理 将其转换为频域内图像 并对其进行高斯
  • 数据分析行业,主要有哪些基本职位,具体的职责是什么?

    1 数据跟踪员 机械拷贝看到的数据 很少处理数据 虽然这个工作的人还不能称作数据分析师 但是往往作这样工作的人还都自称是数据分析师 这样的人 只能通过 系统看到有限的数据 并且很少去处理数据 甚至不理解数据的由来和含义 只是机械的把自己看到
  • 21届毕业生,想做软件测试,没工作经验而且已经毕业,怎么找软件测试工作?

    如果说你是上面现状去找软件测试工作 而且居然还找到了 那么可能会是如下几种情况 1 该公司对软件质量要求很低 随便来个会点点点的 能够检查功能是否正常即可 毕竟我是真遇到过一个CEO说 软件测试很难吗 我都能测试啊 没必要找测试人员 开发完
  • 不对等的爱情该不该放弃

    刚好两个人对爱情都有勇气全力以赴是多么难得的巧合 每个人都有自己的过往 我期望我们在最适当的时候相遇 一个投入的人碰上一个疏离的人 结局必定黯然 下一次 我希望我们相遇的时间会好一点 爱情经常出现一种奇怪的模式 你很用力的去爱一个人 对方却
  • jmeter JDBC request提示“Cannot convert value '0000-00-00 00:00:00' from column 6 to TIMESTAMP.”

    在学习jmeter数据库相关的过程中 在请求数据库时报错 Cannot convert value 0000 00 00 00 00 00 from column 6 to TIMESTAMP 解决方法 更改连接数据库方式 在连接 jdbc
  • C++基础入门教程

    1 C 初识 1 1 第一个C 程序 编写一个C 程序总共分为4个步骤 创建项目 创建文件 编写代码 运行程序 1 1 1 创建项目 Visual Studio是我们用来编写C 程序的主要工具 我们先将它打开 1 1 2 创建文件 右键源文
  • 获取本地硬盘信息

    using System using System Runtime InteropServices using System Text namespace driverId Serializable public struct HardDi
  • JS-语法进阶

    JS 语法进阶 三元运算符 类数组对象
  • 蓝桥杯 51单片机 AT24C02

    工作电压为1 8v 6v 第7引脚 WP 接地时允许正常读写 24C02设备地址包括固定部分和可编程部分 编程部分由A2 A1 A0三个硬件引脚来控制 设备地址最后一位用于设置数据传输方向 读 写 在IIC总线协议中 设备地址是起始信号后第
  • git分支管理策略

    1 总览 git 的分支整体预览图如下 从上图可以看到主要包含下面几个分支 master git默认主分支 这里不作操作 stable 稳定分支 替代master 主要用来版本发布 develop 日常开发分支 该分支正常保存了开发的最新代
  • 黑客自学路线

    谈起黑客 可能各位都会想到 盗号 其实不尽然 黑客是一群喜爱研究技术的群体 在黑客圈中 一般分为三大圈 娱乐圈 技术圈 职业圈 娱乐圈 主要是初中生和高中生较多 玩网恋 人气 空间 建站收徒玩赚钱 技术高的也是有的 只是很少见 技术圈 这个
  • Shader开发之三大着色器

    Shader开发之三大着色器 固定功能管线着色器Fixed Function Shaders 固定功能管线着色器的关键代码一般都在Pass的材质设置Material 和纹理设置SetTexture 部分 Shader Custom Vert
  • Anaconda3-5.1.0下载和安装

    下载安装anaconda的小插曲 1 在官网上找到windows的32位的下载 毕竟是八年前的老本了 另一个本装的64位 结果网站上出现问题 没有成功下载 2 万能的网络 终于找到可以下载的清华镜像地址 Index of anaconda
  • 如何阅读源代码

    我们在写程式时 有不少时间都是在看别人的代码 例如看小组的代码 看小组整合的守则 若一开始没规划怎么看 就会 噜看噜苦 台语 不管是参考也好 从开源抓下来研究也好 为了了解箇中含意 在有限的时间下 不免会对庞大的源代码解读感到压力 网路上有
  • Win11 安装Docker Desktop报错:Update the WSL kernel by running “wsl --update“ or follow instructions

    这个问题解决了一整个下午 看了无数的解决方案 最后找到了最有效的解决方案 总结如下 安装Docker Desktop之后 打开出现这样的问题 根据提示在powershell通过 wsl update 命令 出现 error 那么可以试试下面
  • 计算机视觉技术与应用综述

    引用自 无人系统之 眼 计算机视觉技术与应用浅析 张 丹 单海军 王 哲 吴陈炜 一 前言 近年来 人工智能和深度学习获得突破 成为了大众关注的焦点 如LeCun Y Bengio Y Hinton G等 1 提出的深度卷积网络在图像识别领
  • 一篇文章搞定Python多进程(这才是正确的Python多进程的打开方式)

    1 Python多进程模块 Python中的多进程是通过multiprocessing包来实现的 和多线程的threading Thread差不多 它可以利用multiprocessing Process对象来创建一个进程对象 这个进程对象
  • python3 [爬虫入门实战] 爬虫之selenium 模拟QQ登陆抓取好友说说内容(暂留)

    很遗憾 部分数据有些问题 不过还是可以进行爬取出来的 先贴上源代码 encoding utf8 from selenium import webdriver import re from bs4 import BeautifulSoup f