selenium爬取新浪微博

python爬虫——scrapy+selenium爬取新浪微博及评论 本文主要对爬取过程中所用到的知识做简单总结,最后有项目链接。 一、项目简介 本项目利用python的scrapy框架+selenium模拟登陆微博来爬取带有关键字的微博及微博下面的评论(1 、2级评论)。 当时自己比较关注“小凤雅事件”,而微博又是舆论的战场,就想爬取“小凤雅事件”的相关微博以及评论,看看大家的关注点在哪里,于是就行动起来了。 下面是对主要技术的介绍。 二、scrapy介... 阅读详情

逻辑很简单,先登录之后,搜索一个关键字,爬取内容

注意

  1. 使用mongodb数据库,注意update_one自带去重。
  2. tqdm添加进度条
  3. 无头浏览器
  4. 不加载图片
  5. 使用scrapy的selector解析页面

from selenium import webdriver
from scrapy import Selector
import time
import pymongo
from tqdm import tqdm


# 链接到mongodb
client = pymongo.MongoClient('localhost', 27017)
# 使用名叫weibo的数据库
db = client.weibo

chrome_options = webdriver.ChromeOptions()
# 配置不加载图片
prefs = {"profile.managed_default_content_settings.images": 2}
chrome_options.add_experimental_option("prefs", prefs)
# 配置无头浏览器
chrome_options.add_argument('--headless')
browser = webdriver.Chrome(options=chrome_options)

# browser = webdriver.Chrome()

# 打开登陆页面
browser.get('https://passport.weibo.cn/signin/login')
time.sleep(3)

# 登录新浪
browser.find_element_by_css_selector(
    '#loginName').send_keys('sdfs@163.com')
browser.find_element_by_css_selector('#loginPassword').send_keys('sdklfs')
browser.find_element_by_css_selector('#loginAction').click()
# time.sleep(3)
# print(browser.current_url)

# 随便搜索一个关键字
keyword = 'AI'
base_serach_url = 'https://m.weibo.cn/search?containerid=100103type%3D1%26q%3D'
browser.get(base_serach_url + keyword)

time.sleep(3)
# 下滑条滚动的 javascript 代码
scroll_js = "window.scrollTo(0,document.body.scrollHeight);var lenOfPage = document.body.scrollHeight;return lenOfPage;"
# 默认爬取前20页,可以修改
for i in tqdm(range(20)):
    time.sleep(1)
    browser.execute_script(scroll_js)

# 爬取数据用scrapy的selector
selector = Selector(text=browser.page_source)
cards = selector.css('div.card-main')


def handle_column(ss):
    # 修整不规则字段
    if not ss:
        return ''
    if ss.strip() in ('赞', '评论', '转发'):
        return '0'
    return ss.strip()


for card in cards:
    author = card.css('header > div > div > a > h3::text').get()
    created_at = card.css('.time::text').get()
    source = card.css('.from::text').get()
    text = card.css('.weibo-text::text').get()
    forward = card.css('.m-font.m-font-forward+h4::text').get()
    comment = card.css('.m-font.m-font-comment+h4::text').get()
    like = card.css('.m-icon.m-icon-like+h4::text').get()

    res_dict = {
        'author': handle_column(author),
        'created_at': handle_column(created_at),
        'source': handle_column(source),
        'text': handle_column(text),
        'forward': handle_column(forward),
        'comment': handle_column(comment),
        'like': handle_column(like)
    }

    db.weibo.update_one({'text': handle_column(text)}, {'$set': res_dict}, True)

# print(browser.page_source)
browser.close()

python +selenium+phantomjs 登录爬取新浪微博动态js页面 登录新浪微博最近新浪微博好烦,都取消不了验证码这个难搞得东西,而且跳来跳去,一改版以前的代码就都不能用了。目前整理的资料有三种方法: 1. 设Cookie:简单粗暴,免去了模拟登录的好多麻烦,只是要定期更新 2. 模拟登录:验证码是个大麻烦,有把验证码图片截下来,本地识别控制台输入验证 3. 扫码登录 :用app的扫码登录 其实除了设cookie ,在有验证码下,后两种方法差不多,都要人工干预 阅读详情

相关推荐

Python爬虫实战 | (21) Scrapy+Selenium爬取新浪滚动新闻

在本篇博客中,我们将使用Scrapy对接Selenium来爬取新浪滚动新闻,之前我们用Selenium爬取过滚动新闻,它是由javascript动态渲染的页面,Scrapy 抓取页面的方式和requests 库类似,都是直接模拟HTTP 请求,所以Scrapy 也不能直接抓取JavaScript 动态渲染的页面。所以需要使用Selenium。 抓取JavaScript 渲染的页面有两种方式: ...

sdu_hao的博客 3846

爬虫系列(2):暴力爬虫——基于selenium和xpath定位方法爬取某个话题下的微博内容

插入selenium库

weixin_42466310的博客 5609

管道机器人手臂机械结构设计cad【8张】+三维图+设计说明书+绛重

履带式管道机器人适用于各种管道环境,包括直管道、弯曲管道、水平管道、垂直管道等,其灵活性和适应性使得它可以应对不同形状和尺寸的管道,完成全面的检测和维护工作。管道机器人研究具有重要的现实意义和深远的社会影响,通过提高工作效率、降低人员风险、提升服务质量、节约成本资源和促进科技创新等方面的作用,为现代工程技术领域的发展和进步做出了积极的贡献。管道机器人是一种能够在管道内部执行各种任务的智能机器人,而管道机器人的机械臂对于管道机器人在管道内执行任务的灵活性、稳定性和效率至关重要。

kejigongjiang的博客 944

使用selenium自动化工具爬取微博内容和评论

使用selenium自动化测试工具爬取微博用户的微博以及相应的评论

weixin_44134535的博客 8881

桂电 数电实验 期末考试 试卷+解析(74LS192 + 74LS153 + 74LS139 + 74LS00 / 74LS20)

桂电 数电实验 期末考试 试卷+解析(74LS192 + 74LS153 + 74LS139 + 74LS00 / 74LS20)

Molly 的博客 1万+

ArcGIS 10.4 Desktop安装步骤。

步骤 1 :安装 LicenseManager 有了安装包以后,我们进入安装包文件目录,如图所示,首先需要安装ArcGIS license manager,即点击打开图中红色框中exe文件。 PS:安装 LicenseManager,关于 License 的安装路径一般默认即可,因为很小的,装C 盘也无所谓了,当然了自己改了也可以的,但是不建议! 即便修改路径,建议只改盘符,不修改相对路径方式! 如:C:\Program Files (x86)\ArcGIS\License10.6 修改为 D:\.

IT爱好者 2万+

通过selenium爬取新浪微博

from selenium import webdriver from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.action_chains import ActionChains import csv import PIL.Image as image from PIL import Image, ImageEnhance import time, re, random import

Stranger_top的博客 497

SAP 人力资源工资配置项3---工资项配置

工资项设置

xiouluoyang的专栏 1万+

Python+Selenium爬取新浪微博数据

爬取新浪微博数据一级目录二级目录三级目录 一级目录 二级目录 三级目录

zczczcc的博客 3191

用 SAP HANA SDA 访问 PostgreSQL:从可行性到落地实践的完整指引

摘要:SAP HANA可通过SDA/SDI技术访问PostgreSQL数据库,支持数据虚拟化和实时复制。主要实现路径包括:1)使用Camel JDBC适配器创建虚拟表进行联邦查询;2)利用PostgreSQL Log Reader适配器实现变更数据捕获(CDC)。实施时需配置Data Provisioning Agent,注意权限和网络要求。官方文档指出,通过SDI+DP Agent的方式比直接SDA连接更稳定可靠。虚拟化查询时,HANA会自动将SQL下推到PostgreSQL执行,优化性能。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 257

Uni-App 使用极光推送完整指南

Uni-App集成极光推送的完整指南:从注册极光账号到代码实现。包含前期准备(获取AppKey、注册厂商账号)、Uni-App配置(插件导入、初始化代码)、高级功能(角标设置、Java后台接口)及常见问题排查。详细说明了推送监听、registrationID获取、消息接收处理等核心功能实现步骤,并提供两种推送接口示例(按平台推送和统一推送)。适合需要在Uni-App项目中实现推送功能的开发者参考。

cyj0919的博客 430

爬取新浪微博新闻(selenium),包括模拟登陆,数据存储等(适合初学者)

爬取新浪微博(模拟登陆,数据存储)写在最开头下载浏览器驱动测试驱动是否匹配/font>模拟登陆分析待爬取页面信息保存数据程序github地址 写在最开头 该程序主要是为爬取新浪微博,想要搜索的信息,主要报错的信息为文本,其他元素未涉及,此外微博博主信息,笔者也不关注,时间等信息同样不关注,主要目的就是获取文本信息。因此,本着对读者同样同样也是对自己负责的态度,文中添加了一些程序的注释及一些爬虫的思想。如果不感兴趣,直接想看程序,可以直接clone该代码,已上传到github;当然,如果有问题可以在评

厚积而薄发 1271

【ComfyUI】Wan2.2 Animate 背景保留动作迁移视频生成

本文介绍了一个基于ComfyUI的高精度视频生成工作流"Wan2.2 Animate",该系统融合动作捕捉、图像拼接和LoRA加权等技术,能自动识别人脸并完成精准动作迁移,同时保持背景稳定。工作流采用模块化设计,包含输入提取、图像融合、模型加载等关键节点,核心模型Wan2.2-Animate-14B支持fp8精度与BlockSwap控制。流程分为图像输入、动作提取、多图合成等五个阶段,通过文本提示编码器和图像语义编码器实现语义驱动的动作生成,最终输出高质量视频,适用于虚拟形象驱动和

Mr数据杨 2277

[python爬虫] Selenium爬取新浪微博内容及用户信息

在进行自然语言处理、文本分类聚类、推荐系统、舆情分析等研究中,通常需要使用新浪微博的数据作为语料,这篇文章主要介绍如果使用Python和Selenium爬取自定义新浪微博语料。因为网上完整的语料比较少,而使用Selenium方法有点简单、速度也比较慢,但方法可行,同时能够输入验证码。希望文章对你有所帮助~爬取结果 首先可以爬取用户ID、用户名、微博数、...

weixin_34191734的博客 2801

无线传感网络的Matlab实现

Matlab是一种功能强大的数值计算和数据分析工具,也可以用于无线传感网络的建模和仿真。根据实际需求,可以进一步扩展和优化模型,例如考虑节点能量消耗、网络路由、数据融合等方面的问题。函数用于绘制节点之间的连接关系,其中第一个参数是邻接矩阵,描述了节点之间的连接关系。这里使用了一个4个节点的简单例子,可以根据实际需求修改节点数量和连接关系。可以使用Matlab中的图形绘制函数来可视化节点的位置和连接关系。在无线传感网络中,节点的能量是一个关键因素。通过计算节点的剩余能量,可以评估节点的能量消耗情况。

2301_79331387的博客 250

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

selenium、requests爬取新浪微博高清图片

使用selenium、requests爬取新浪微博高清图片。步骤超详细~

weixin_41391619的博客 1712

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

[Python爬虫] Selenium爬取新浪微博客户端用户信息、热点话题及评论 (上)

转载自:http://blog.youkuaiyun.com/eastmount/article/details/51231852 一. 文章介绍 源码下载地址:http://download.youkuaiyun.com/detail/eastmount/9501273前一篇文章"[python爬虫] Selenium爬取新浪微博内容及用户信息"简单讲述了如何爬取新浪微博手机端用户信息和微博信息。用...

dianyin7770的博客 723

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Python+Selenium爬取新浪微博评论数据

Python+Selenium爬取指定新浪微博的数据微博分析微博端类型Ajax动态加载数据选择爬取对象进行评论界面分析Python实现代码 微博分析 微博端类型 首先找到一个待爬取的微博,需要注意的是,微博分为:微博网页端(http://weibo.com)如图1,微博手机端(http://m.weibo.cn)如图2以及微博移动端(http://weibo.cn)如图3。 难度程度排序如下:网页端>手机端>移动端 图一:(网页端) 图二:(手机端) 图三:(移动端) Ajax动态加载数据

zczczcc的博客 3268

python 登录新浪微博爬取粉丝信息_python+selenium+requests爬取我的博客粉丝的名称...

爬取目标1.本次代码是在python2上运行通过的,python3的最需改2行代码,用到其它python模块selenium 2.53.6 +firefox 44BeautifulSouprequests2.爬取目标网站,我的博客:https://home.cnblogs.com/u/yoyoketang 爬取内容:爬我的博客的所有粉丝的名称,并保存到txt3.由于博客园的登录是需要人机验证的,所...

weixin_29883023的博客 501

新浪微博:selenium自动化爬取某一个话题所有的博文内容

不多说!!!直接附上完整代码如下: from selenium import webdriver from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from bs4 import BeautifulSoup import tim

ASS-ASH的博客 1833

WebCollector教程——爬取新浪微博

下载本教程需要两套jar包,WebCollector核心jar包和selenium的jar包。WebCollector最新jar包可在WebCollector github主页下载。selenium的jar包点击进入下载页面。内容: 利用Selenium获取登陆新浪微博weibo.cn的cookie(WeiboCN.java) 利用WebCollector和获取的cookie爬取新浪微博并抽取数据(

AJAXHu的专栏 7125

Python+Selenium爬取新浪微博数据时的用户模拟登陆

新浪微博用户模拟登录WebDriver基本元素定位方式xpath表达式定位selenium–操作滚动条driver.switch_to.frame用法Python代码实现 模拟登陆的思路: 1.采用webdriver的get方法打开网页 2.选择用密码进行登陆(定位+点击) 3.在input tag输入用户名及密码(定位+输入) 4.登陆(定位+点击登陆按钮) WebDriver基本元素定位方式 find_element_by_id() —采用id属性进行定位 例如在百度页面中输入关键字进行搜索 <s

zczczcc的博客 1453

selenium爬取新浪滚动新闻

selenium安装方法 pip3 install selenium chromedriver安装方法 首先下载:http://chromedriver.storage.googleapis.com/index.html 注意:下载版本要和自己的谷歌浏览器的版本对应,例如 chromedriver版本 支持的Chrome版本 v2.41 v67-69 v2.40 v66-68...

小昂昂博客 1666

python爬虫——用selenium和phantomjs对新浪微博PC端进行爬取(二)

。,。上一篇文章里我选择爬取简单的微博移动端,由于移动端构造简单,一般都优先爬取移动端,且因为是静态页面,我们可以直接使用xpath或者正则表达式搞定,但pc端结构就复杂得多,不能使用前面的方法。这篇文章我尝试使用selenium加phantomjs的组合,模拟人的操作来对指定微博的PC端进行爬取。         这次我们选择的种子网页依旧是工商秘密微博,但爬取信息范围更广,我们需要爬虫不止拿

a980135330的博客 4857

Python,网络爬虫selenium与pyautogui抓取新浪微博用户数据

Python,网络爬虫selenium与pyautogui抓取新浪微博用户数据 不需要登陆新浪微博账户,直接运行就可以通过python爬虫爬取新浪微博用户数据。本例selenium与pyautogui结合,爬取十大城市的地铁(轨道交通)官方微博的粉丝数量。最终把数据存入excel和csv文件。 python代码: import re import time import pandas as pd from tqdm import tqdm import pyautogui from selenium

Zhang Phil 1154
上一篇: 003 pandas 数据清洗常用
下一篇: selenium爬取 阿里巴巴 商品目录页面
CoolScript
博客等级 码龄9年 26粉丝 48原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值