首页 > 编程语言 >听说 iPhone14 在 中国时间 9月8日发布, 让我们用python采集看看网友怎么说

听说 iPhone14 在 中国时间 9月8日发布, 让我们用python采集看看网友怎么说

时间:2022-09-05 15:44:07浏览次数:89  
标签:iPhone14 get python text stop 采集 words import div

前言

嗨喽,大家好呀~这里是爱看美女的茜茜呐

又到了学Python时刻~今天我们来采集一下评论数据!

 

WB态数据抓包+所有的数据提取方式+词云图可视化

开发环境:

  • python 3.8: 解释器

  • pycharm: 代码编辑器

  • requests 第三方模块

采集评论代码

# 导入模块
import requests
import parsel
import re
import csv
import time
headers = {
    'cookie': 'XSRF-TOKEN=V48EJHd1wO3DP9ffnlwgfvQr; WBPSESS=yr8Ogb3qBlrorv2L6-ukSsE1SdVJvjLsi6ub0yOZpfazK2TqOMmvxlay7kNrt6LGuwSQINF-zpQWhR5GxHKCX1k4G2jaPAJoABJpxykZAJt4WAVgjdO_FFGWKvaHbvCJoOFzEoJ5rXkc31Ex4pDEylNKVb9H913jTpjFGBoBha4=; login_sid_t=8f13cfe80a400ba04cd5d9094175b145; cross_origin_proto=SSL; WBStorage=4d96c54e|undefined; _s_tentry=weibo.com; Apache=9429320084537.793.1662010843614; SINAGLOBAL=9429320084537.793.1662010843614; ULV=1662010843618:1:1:1:9429320084537.793.1662010843614:; wb_view_log=1920*10801; SSOLoginState=1662010869; SUB=_2A25OFDZPDeRhGeFI6lsT-CnPyDqIHXVtYCCHrDV8PUNbmtANLXDXkW9NfV7QbU7-nuy6Ejf4yBGzw8ymJY1CysT9; SUBP=0033WrSXqPxfM725Ws9jqgMF55529P9D9WWGGcL4DsCvRg-RQA6cXEKN5JpX5KzhUgL.FoMceK.E1hM0e0q2dJLoIp7LxKML1KBLBKnLxKqL1hnLBoMNSo24eonNe0ec; ALF=1693546910; wvr=6; wb_view_log_7619287336=1920*10801; webim_unReadCount=%7B%22time%22%3A1662011426887%2C%22dm_pub_total%22%3A0%2C%22chat_group_client%22%3A0%2C%22chat_group_notice%22%3A0%2C%22allcountNum%22%3A23%2C%22msgbox%22%3A0%7D; PC_TOKEN=b6ef7633b7',

 

 

 

    response = requests.get(url=url, headers=headers)
    html_data = response.json()['data']['html']
    selector = parsel.Selector(html_data)
    # .list_box > .list_ul > div .list_con .WB_text:nth-child(1)
    divs = selector.css('.list_box > .list_ul > div')
    try:
        sub_ = re.findall('action-data="(id=4808806519278561.*?)"', html_data)[0]
    except:
        sub_ = ''
    print(sub_)
    for div in divs[0: -1]:
        content = div.css('.list_con .WB_text:nth-child(1)::text').getall()[1].replace(':', '').replace(' ', '')
        imgUrl = div.css('.WB_face.W_fl img::attr(src)').get()
        user = div.css('.WB_text a:nth-child(1)::text').get()
        time_ = div.css('.WB_from.S_txt2::text').get()
        print(user, content, time_, imgUrl)
        csv_writer.writerow([user, content, time_, imgUrl])
    if sub_ == '':
        return 0
    get_next(sub_)

get_next('id=4808806519278561&from=singleWeiBo&__rnd=1662011439459')

  

 

 

词云图代码

import jieba
import pandas as pd
import stylecloud

# 读取文件
df_wb = pd.read_csv('微博评论.csv')
def get_cut_words(content_series):
    # 读入停用词表
    stop_words = []

    with open("stop_words.txt", 'r', encoding='utf-8') as f:
        lines = f.readlines()
        for line in lines:
            stop_words.append(line.strip())

    # 添加关键词
    my_words = ['没有欲望', '便宜点']
    for i in my_words:
        jieba.add_word(i)
        # 自定义停用词
        my_stop_words = []
        stop_words.extend(my_stop_words)
    # 分词
    word_num = jieba.lcut(content_series.str.cat(sep='。'), cut_all=False)

    # 条件筛选
    word_num_selected = [i for i in word_num if i not in stop_words and len(i) >= 2]

    return word_num_selected

text = get_cut_words(content_series=df_wb['content'])

# 绘制词云图
stylecloud.gen_stylecloud(
    text=' '.join(text),
    collocations=False,
    font_path=r'C:\Windows\Fonts\msyh.ttc',
    icon_name='fab fa-apple',
    size = 768,
    output_name='iPhone.png',
)

 

好了,今天的分享就到这里,需要更多源码、资料点击下方蓝字即可~

更多资料获取加Q君羊:261823976 点击蓝字加入【python学习裙】

记得点赞鸭~

 

 

尾语

标签:iPhone14,get,python,text,stop,采集,words,import,div
From: https://www.cnblogs.com/Qqun261823976/p/16658399.html

相关文章

  • Python读取txt文件
    F.read()和F.readlines():1#Python读取txt2defFread():3print('-----readby.read()-----')4withopen('test.txt',encoding='utf-8')asfile:5......
  • Python源码解析-list对象的底层实现(PyListObject)
    目录简介PyListObject内存管理创建list缓存池管理本文基于Python3.10.4。简介数组是程序中一个十分重要的概念,我们将符合某一特性的多个元素集合在一块形成一个数组,同时......
  • python中的map函数
    https://blog.csdn.net/quanlingtu1272/article/details/95482253?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166235753216782414917034%2522%252C%2522sc......
  • python的解释器
    什么是Python解释器?1.python解释器是什么?计算机的大脑是CPU,中文名叫中央处理器,它仍然不能直接处理Python语言。CPU只能直接处理机器指令语言,那是一种由0和1数字组成的......
  • Python 实现一行输入多个数字(用空格隔开)。python之input()函数的使用——在终端输入
    python之input()函数的使用——在终端输入想要的值,小白也能学会的python之路-腾讯云开发者社区-腾讯云(tencent.com) Python实现一行输入多个数字(用空格隔开)-腾......
  • python 生成器与迭代器
    生成器生成器:节省空间#generator生成器f=[iforiinrange(1,1001)]#列表f=(iforiinrange(1,1001))#生成器在创建列表是,会在内存中全部创建出来,......
  • 解决python命令行报错问题
    解决Python报错Failedcallingsys.__interactivehook__报错截图可以看到主要的报错信息File"D:\Python\Anaconda3\lib\site-packages\pyreadline\lineeditor\histo......
  • 微信公众号文章采集的几种方案
    方案一:基于搜狗入口在网上能搜索到的公众号文章采集相关的信息来看来看,这是最多、最直接、也是最简单的一种方案。一般流程是:搜狗微信搜索入口进行公众号搜索选取公......
  • Python列表、元祖、字典查询速度对比
    先比较列表和字典的查询速度:字典查询速度快于列表,原因是:列表是有序的数组,每个值都有自己的索引位置,查询的时候会逐步偏移查找,很浪费时间,但是内存消耗小。而字典是key,value......
  • python变量和数据类型
    1.python变量含义变量是存储在内存中的值,这就意味着在创建变量时会在内存中开辟一个空间。基于变量的数据类型,解释器会分配指定内存,并决定什么数据可以被存储在内存中。......