【爬虫实战】用python爬取微博任意关键词搜索结果、exe文件

这篇具有很好参考价值的文章主要介绍了【爬虫实战】用python爬取微博任意关键词搜索结果、exe文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

项目功能简介:

1.交互式配置;

2.两种任意关键词来源(直接输入、本地关键词文件);

3.自动翻页(无限爬取);

4.指定最大翻页页码;

5.数据保存到csv文件;

6.程序支持打包成exe文件;

7.项目操作说明文档;

一.最终效果

python如何根据微博关键词搜索内容,python爬虫、js逆向,python,微博爬虫


视频演示:

用python爬取微博关键词搜索结果、exe文件视频演示

二.项目代码

2.1 数据来源分析

使用chrome浏览器,F12打开调试面板,使用元素选择工具确定元素位置,如下图

python如何根据微博关键词搜索内容,python爬虫、js逆向,python,微博爬虫

确定页面元素:
python如何根据微博关键词搜索内容,python爬虫、js逆向,python,微博爬虫

说明:为何不直接调用接口获取数据呢? 通过调试面板会发现,搜索结果数据不是前后端分离方式返回到web端,而是通过服务端渲染之后一起发送到web端,所以只能对html解析,获取到关键字段内容。

2.2 解析数据

解析html需要使用bs4库,使用前请确保已经安装成功: pip install bs4,查看本地是否已经安装: pip list,如下图:

python如何根据微博关键词搜索内容,python爬虫、js逆向,python,微博爬虫


from bs4 import BeautifulSoup

soup = BeautifulSoup(html, 'html.parser')

elements = soup.select('#pl_feedlist_index .card-wrap')


高能总结:1. soup.select选择器返回的对象还能继续选择元素,例如上面的elements,elements.select_one('.card .info #title');2. 元素如果使用了class对应选择器中用.,id用#,元素标签直接用标签名称,例如divspanul等等。

三.批量保存数据

数据保存使用pandas,因此需要先安装: pip install pandas,解析道的数据单行保存读写文件太费时间,使用pandas批量保存,用法如下:

import pandas as pd
list = [
  {
  "keywords":"",
  ...
  "like":"",
  },{
  "keywords":"",
  ...
  "like":"",
  }
]
df = pd.DataFrame(list)
df.to_csv('result.csv', index=False, columns=["keywords", "nickname", "publish_time", "device_info", "weibo_content", "forward", "comment", "like"])

高能总结:1. df.to_csv保存数据时,如果不存在result.csv文件会自动创建;2.往已经存在数据的result.csv文件中追加数据,使用追加方式:df.to_csv('result.csv', index=False, mode='a', header=False)

pandas保存检查完整代码:


import pandas as pd
import os


class DataTool:
    def __init__(self):
        self.file_path = 'result.csv'

    def check_data(self):
        if os.path.exists(self.file_path):
            with open(self.file_path, 'r') as file:
                first_line = file.readline()
                if first_line.strip():
                    return True
                else:
                    return False
        else:
            return False

    def data_to_save(self, list, page):
        df = pd.DataFrame(list)
        print("数据保存中...")
        if page == 1:
            has_file = self.check_data()
            if not has_file:
                df.to_csv(self.file_path, index=False, columns=["keywords", "nickname", "publish_time", "device_info", "weibo_content", "forward", "comment", "like"])
                return
        df.to_csv(self.file_path, index=False, mode='a', header=False)

下面是pandas库的优点总结:

Pandas 是一个强大的数据处理和分析库,它在数据科学和数据分析领域非常受欢迎。以下是一些 Pandas 库的主要优点:

1.数据结构:Pandas 提供了两个主要的数据结构,DataFrame 和 Series,它们使数据的处理和分析变得更加容易。DataFrame 是一个二维表格,类似于关系型数据库表,而 Series 是一个一维数组,类似于列表或数组。这两种数据结构使得处理不同类型的数据变得更加方便。

2.数据清洗:Pandas 提供了丰富的数据清洗工具,包括处理缺失值、重复值、异常值等的功能。你可以轻松地对数据进行清洗、填充缺失值、删除重复行等操作。

3.灵活的数据操作:Pandas 允许你进行各种灵活的数据操作,包括筛选、过滤、排序、合并、重塑和透视表等。这使得数据分析更加容易,你可以按照需要对数据进行各种操作,而不需要编写复杂的循环和逻辑。

4.数据分组和聚合:Pandas 提供了强大的分组和聚合功能,允许你根据一个或多个列对数据进行分组,并应用聚合函数(如求和、平均值、计数等)来汇总数据。这对于生成统计信息和汇总报告非常有用。

5.时间序列处理:Pandas 支持时间序列数据的处理和分析,包括日期和时间的解析、重采样、滚动窗口计算等。这对于金融分析、天气数据、股票市场分析等领域非常有用。

6.丰富的数据输入/输出:Pandas 支持多种数据格式的读写,包括 CSV、Excel、SQL 数据库、JSON、HTML、Parquet 等,使得数据的导入和导出非常方便。

7.集成性:Pandas 可以与其他数据科学库(如 NumPy、Matplotlib、Scikit-Learn)无缝集成,使得数据分析和建模工作更加流畅。

四.运行过程

python如何根据微博关键词搜索内容,python爬虫、js逆向,python,微博爬虫

五.项目说明文档

python如何根据微博关键词搜索内容,python爬虫、js逆向,python,微博爬虫

六.获取完整源码

爱学习的小伙伴,本次案例的完整源码,已上传微信公众号“一个努力奔跑的snail”,后台回复 微博关键词 即可获取。文章来源地址https://www.toymoban.com/news/detail-782455.html

到了这里,关于【爬虫实战】用python爬取微博任意关键词搜索结果、exe文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 用python语言爬虫爬取微博评论--上--初步爬虫(超详细版,大学生不骗大学生)

    目录 一、找到页面  二、学会使用检查元素 2.1 打开检查元素界面 2.2 找到所有评论所在的位置 2.2.1 搜索评论 2.2.2  找到data表 三、基础部分代码实现 ​​​​​​​ 全部已经更完(下面两个链接是中和下) https://blog.csdn.net/m0_68325382/article/details/137234661?spm=1001.2014.3001.5502 爬

    2024年04月10日
    浏览(55)
  • 利用八爪鱼爬取关键词搜索的微博数据

    今天是我在CSDN上的两周年创作纪念日,两年里我写了不少有意思的文章,虽然没收获什么粉丝,但看到自己的博客阅读量越来越大,能帮助到更多人解决实际问题还是很开心的。今天就分享一下我最近做的一个项目。 一般来说,爬虫可能用的更多的是python,但是chatgpt给出的

    2024年02月06日
    浏览(40)
  • 【爬虫】根据关键词自动搜索并爬取结果

    根据自动搜索并爬取网页的信息 网页有两种情况:可以直接获取页数的和不可以直接获取页数的; 两种情况可以采取不同的方法: 情况一:先爬取页数,再爬取每页的数据 情况二:无法爬取到页码数,只能换页爬取的

    2024年02月12日
    浏览(46)
  • 爬取微博热搜榜并进行数据分析

    :爬取微博热搜榜数据。 用requests库访问页面用get方法获取页面资源,登录页面对页面HTML进行分析,用beautifulsoup库获取并提取自己所需要的信息。再讲数据保存到CSV文件中,进行数据清洗,数据可视化分析,绘制数据图表,并用最小二乘法进行拟合分析。 :通过观察页面HT

    2024年02月15日
    浏览(54)
  • python学习:爬虫爬取微信公众号数据

    参考: https://blog.csdn.net/qq_45722494/article/details/120191233 1、登录微信公众平台 这里我注册了个微信公众号 点击图文消息 点击超链接 搜索要爬取的公众号名称 获取appmsg?action… 上述第一步可以获取到cookie、fakeid、token、user_agent等,编辑成wechat.yaml文件,如下所示 代码如下: 因为阅读

    2024年01月24日
    浏览(50)
  • 基于python的微博舆情分析与研究—以《北京冬奥会》为关键词

    创作不易,如果以下内容对你有帮助,记得三连呀,让更多的小伙伴能看到吧~~ 1. 研究内容 本课题研究的是基于Python的微博舆情热点分析与研究。在PyCharm、Jupiter Notebook开发环境下,首先利使用python的requests库对微博进行分时段多进程爬取,并利用lxml解析库对爬取到的数据解

    2023年04月08日
    浏览(43)
  • 爬虫 | Python爬取微博实时热搜榜信息

    大家好,我是程序员晓晓~ 本期给大家分享一下如何 用python获取微博热搜榜 信息,包含 爬取时间、序号、、热度 等信息,希望对大家有所帮助。 所有内容仅供参考,不做他用。 1. 网页分析 目标网址(微博热搜榜): https://s.weibo.com/top/summary 实时热搜榜一共有50条,每个

    2024年02月02日
    浏览(58)
  • python爬虫爬取微信公众号的阅读数、喜爱数、文章标题和链接等信息

    爬虫的步骤: (1)申请自己的公众号 (2)使用fiddler抓包工具 (3)pycharm (一)申请公众号 官网:微信公众平台 填入相关信息创建微信公众号 进入公众号界面如下: 找到新的创作-图文信息 在弹出的界面中查找公众号文章-输入公众号名称-确定 点击确认之后,进入公众号

    2024年02月05日
    浏览(57)
  • 【爬虫、数据可视化实战】以“人口”话题为例爬取实时微博数据并进行舆情分析

    近期在weibo上讨论的比较热的话题无非就是“人口”了。TaoTao也看了一些大家发的内容。但是感觉单纯的看文字内容不能很直观的反应出来大家的关切。索性就使用爬虫对数据进行爬取,同时结合着数据可视化的方式让数据自己开口说话。那么接下来就让我们使用技术进行分

    2024年01月23日
    浏览(54)
  • 使用Python编写搜索引擎关键词排名监测爬虫

    目录 1. 了解排名监测的重要性 2. 选择合适的搜索引擎 3. 构建排名监测爬虫

    2024年02月09日
    浏览(58)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包