爬取单页影评数据,导出到excel表

爬取豆瓣电影,输出最新电影列表、影评、影评热词统计、词云之一 1.写爬虫博客的背景 这两天对机器学习产生了兴趣,学习中有网友问我爬取豆瓣影评的问题,并且说在百度上搜的完整代码都不能运行。我好奇也在优快云上搜了几个类似的完整代码,的确不能运行。我对不能运行的代码进行了分析,至少有以下几种情况:1 作者发布的代码本身有问题,抄转的多;2 爬和反爬是矛和盾的关系,时过境迁、headers、cookies不一样也会爬不成功;3 爬虫对初学者是个费时劳神的活,很多坑... 阅读详情

 最近在接触python,然后加了些群,可能我比较活跃,然后他私聊我让我帮他爬取一下数据,我抱着好奇与学习的心进行尝试了下。


import requests
from lxml import html
import json
from urllib import request as urllib2
from lxml import etree
import json
import xlsxwriter
import pandas as pd

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0',
}


def spider():
    """
    爬取数据
    :rtype: object
    """
    url = 'http://movie.mtime.com/228745/reviews/short/new.html'  # 需要爬数据的网址
    # page = requests.Session().get(url)
    # tree = html.fromstring(page.text)
    # node_list = tree.xpath('//dd[contains(@class)]')
    request = urllib2.Request(url, headers=headers)
    response = urllib2.urlopen(request)
    html = response.read()
    dom = etree.HTML(html)
    # 模糊查询  存储为根节点
    node_list = dom.xpath('//div[@class="mod_short"]')
    list_item = list()
    for node in node_list:
        # 得到用户名
        user = node.xpath('.//p[@class="px14"]/a/text()')[0]
        # 得到评论
        comment = node.xpath('./h3/text()')[0]  # 获取需要的数据
        # 得到评分
        score = node.xpath('.//span[@class="db_point ml6"]/text()')[0]
        # 得到时间
        time = node.xpath('.//div[@class="mt10"]/a/@entertime')[0]
        # # 创建dict
        items = {'user': user,
                 'comment': comment,
                 'score': score,
                 'time': time}
        list_item.append(items)
        with open('qiushi.json', 'a', encoding='utf-8') as file:
            file.write(json.dumps(items, ensure_ascii=False) + '\n')
    print(len(list_item))
    print(list_item)
    save_data(list_item)

            # # 得到用户名
            # node = node_list[0]
            # user = node.xpath('.//p[@class="px14"]/a/text()')
            # # 得到评论
            # comment = node.xpath('./h3/text()')  # 获取需要的数据
            # # 得到评分
            # score = node.xpath('.//span[@class="db_point ml6"]/text()')
            # # 得到时间
            # time = node.xpath('.//div[@class="mt10"]/a/@entertime')
            # print(node_list)
            # print(user)
            # print(comment)
            # print(score)
            # print(time)


def save_data(list_data):
    """将数据导出到表格
    :rtype: object
    """
    print(len(list_data))
    # 创建xlsx文件
    workbook = xlsxwriter.Workbook('comments.xlsx')
    # 新增工作区
    worksheet = workbook.add_worksheet()
    i = 0
    # 循环添加进表格
    while i < len(list_data):
        # write(行,列,数据)
        worksheet.write(i, 0, list_data[i]['user'])
        worksheet.write(i, 1, list_data[i]['comment'])
        worksheet.write(i, 2, list_data[i]['score'])
        worksheet.write(i, 3, list_data[i]['time'])
        i += 1
    # 注意关闭文件
    workbook.close()

if __name__ == "__main__":
    spider()

# 求属性值  @xx
# 求文本值 text()

参考链接:https://www.cnblogs.com/shouzhong/p/9661717.html

Python爬虫实战:Selenium无头模式高效抓取动态网页数据 在Web数据采集领域,动态网页因其内容通过JavaScript异步加载,给传统基于静态HTML解析的爬虫技术带来了挑战。其核心原理在于现代Web应用普遍采用前后端分离架构,页面初始加载后,数据通过Ajax请求动态填充,导致直接获取的源码中不包含目标信息。为应对此问题,Selenium等浏览器自动化工具应运而生,它们能驱动真实浏览器环境,完整执行JavaScript并渲染最终DOM,从而获取动态生成的内容。这项技术的核心价值在于解决了传统爬虫无法处理的交互式页面数据采集难题,广泛应用于舆情监控、价格追踪、学术 阅读详情

相关推荐

简洁实用的Python爬虫入门(运行通过,结果存于Excel)----爬取电影评论数据

简洁实用的爬虫入门----爬取电影评论数据基础代码结果 很喜欢一句话“all things are difficult before they are easy”,它鼓励我去尝试了自己觉得难的事,今天照葫芦画瓢,实现了以前比较好奇的爬虫,这里作个简单笔记。 流程参考了《1小时入门 Python 爬虫(上)》,作者写得很详细,链接: link. 一些基本语法知识参考w3school.链接: li...

supervector的博客 2240

Fiddler抓取网站api并导出到excel

1.Fiddler抓取网站数据,并导出到txt 2.nodejs 处理txt文件,写入到excel中

ST92的博客 2954

金蝶导出EXCEL再转MDB数据库查询

将金蝶财务软件中的入库信息导出为EXCEL文件,再由本软件导入MDB数据库供查询!

Python爬虫(6):比Selenium快100倍的方法爬东方财富网财务报表

博客原文来自我的博客:https://www.makcyun.top/web_scraping_withpython6.html   摘要: 上一篇文章,我们用Selenium成功爬取了东方财富网的财务报表数据,但是速度非常慢,爬取70页需要好几十分钟。为了加快速度,本文分析网页JavaScript请求,找到数据接口然后快速爬取财务报表数据。 1. JavaScript请求分析   ...

苏克的博客 1万+

Python-一图是一个基于Python语言的豆瓣以及猫眼电影的影评爬取程序

一图是一个基于Python语言的豆瓣以及猫眼电影的影评爬取程序(PyCharm项目),并把爬取的数据通过词云图、热力分布图、条形图以及折线图的方式展现给使用者

python将字典列表导出为Excel文件的方法

将如下的字典列表内容导出为Excel表格文件形式: 关于上图字典列表的写入,请参考文章:https://www.jb51.net/article/169088.htm python将字典列表导出为Excel文件的方法,如下所示: 1、安装python官方Excel库——xlwt 直接在终端进行安装即可:pip install xlwt 安装完成后,在程序中引入xlwt的库 import xlwt 2将字典列表导出到excel文件中: import xlwt import pandas as pd def export_excel(export): #将字典列表转换为DataFrame

Python爬取网页表格数据并写入excel中No.7

Python爬取网页表格数据并写入Excel import requests from bs4 import BeautifulSoup import xlwt #请求headers 模拟谷歌浏览器访问 headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) Apple......

蒙强的博客 1万+

【Python】豆瓣电影TOP250数据规律分析(Pearson相关系数、折线图、条形图、直方图)

1、数据集预览 原创文章 113获赞 137访问量 7万+ 关注 私信 展开阅读全文 作者:Vivid-victory

Python Selenium电影榜单爬虫工程化实践指南

Web爬虫本质是模拟用户与动态网页的交互过程,其核心在于理解客户端渲染(CSR)原理——现代电影榜单页如豆瓣、IMDb等普遍依赖JavaScript动态生成DOM,导致requests获取的源码为空。Selenium通过驱动真实浏览器实例,完整复现V8引擎执行、DOM构建与事件循环,成为处理AJAX分页、懒加载、React/Vue渲染页面的不可替代方案。其技术价值体现在显式等待、元素稳定性定位、Page Object分层设计等工程化能力,广泛应用于影视数据采集、竞品监控、舆情分析等场景。本文聚焦电影Top2

weixin_33691817的博客 411

RandLA-Net复现SemanticKITTI和S3DIS数据集

RandLA-Net复现KITTI和室内数据集

weixin_48845174的博客 4117

实验记录 | 如何拆分scATAC-seq数据成为单个细胞?(1、解决barcode问题)

在师兄的帮助下,我得到了师兄筛选过的细胞的barcode的数据,那么接下来我想根据这些barcode,将来源于同一个barcode的细胞的reads提取出来,这个还是一个蛮有技术含量的事情的,因为上次我有使用过perl的脚本进行提取,最后的实验结果很糟糕,故而这件事情一直搁置到现在,没有继续去做(我的脚本的编写能力还是有待于加强,可能是刚刚喝了奶茶,和老妈弟弟聊了好多闲话,很开心,觉得在某种程度上休息够了,对于工作也是一种非常快乐和积极的状态了)。 0。前期失败尝试回顾 ...

weixin_40640700的博客 1887

Nano Banana微型验证法:48小时交付可付费MVP

MVP(最小可行产品)是创业早期验证需求的核心方法论,其本质在于用最低成本、最短周期交付可被用户真实付费的价值单元。关键不在于功能多全,而在于是否精准击中某个具体、可感知、可量化的用户摩擦点——即所谓‘香蕉皮’。通过严格约束体积(单页/单API)、交付(≤48小时闭环)、成本(<$200)与验证(首周3笔真付款),Nano Banana将抽象的MVP理念转化为可执行、可度量、可复用的工程实践。它适用于独立开发者快速试错、小团队绕过PRD直面市场、自由职业者构建付费案例,广泛应用于SaaS工具、AI应用、No

weixin_30568591的博客 416

NA400与昆仑通态MODBUS/TCP通讯调试说明

点击增加设备通道,弹出窗口进行设置,通道类型选择“0区输出继电器”,通道地址为1,通道个数为1,读写方式为读写。点击增加设备通道,弹出窗口进行设置,通道类型选择“4区输出寄存器”,数据类型选择“16位 无符号二进制”,通道地址为21001,通道个数为1,读写方式为读写。5.添加设备通道:双击莫迪康MODBUSTCP子设备,点击添加设备通道,根据Modbus规约地址表进行参数的设置,表格可在NAPro软件帮助中查看,如下图所示。然后可以在设备通道调试数据中观察到Q1的值为1,NW1的值678,表示通讯成功。

weixin_44281509的博客 2492

(8)Python爬虫——爬取豆瓣影评数据

利用python爬取豆瓣最受欢迎的影评50条的相关信息,包括标题,作者,影片名,影片详情链接,推荐级,回应数,影评链接,影评,有用数这9项内容,然后将爬取的信息写入Excel表中。具体代码如下:#!/usr/bin/python #-*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf8') from bs4

好女绪的博客 2万+

从零搭建ROS机械臂仿真环境:Ubuntu 20.04+Noetic下配置睿尔曼RM65的完整流程

本文详细介绍了在Ubuntu 20.04系统中,基于ROS Noetic搭建睿尔曼RM65机械臂的完整仿真环境。从环境准备、工作空间创建到MoveIt!配置与Gazebo仿真环境集成,提供了完整的流程和优化建议,帮助开发者高效实现机械臂仿真与调试。

v6b7n8m9q0的博客 934

季节性注意力的时间序列预测模型 SAITS 进行数据补齐 完整代码数据

季节性注意力的时间序列预测模型 SAITS 进行数据补齐 完整代码数据

1071

爬虫记录(1)——简单爬取一个页面的内容并写入到文本中

1、爬虫工具类,用来获取网页内容 package com.dyw.crawler.util;import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.URL; import java.net.URLConnection;/** * 爬虫工具

juewang_love的博客 8887

基于MATLAB自动发电控制(AGC)仿真系统的设计与实现:电力系统频率稳定与功率平衡的深入解析

自动发电控制(AGC)是电力系统运行中的一个关键功能,其主要任务是通过自动调节发电机组的输出功率,使得电网中的频率稳定在规定范围内,并维持发电与负荷的动态平衡。当电力负荷发生变化时,AGC会立即响应,调整发电机的功率输出,以避免电网频率的剧烈波动。维持系统频率稳定:电网频率通常应维持在标准值(例如50Hz或60Hz)附近。当负荷波动或电力需求突然变化时,AGC通过调节发电机输出,确保频率不发生过大的偏离。实现区域内的功率平衡。

qq_38334677的博客 1112

python爬虫实战-python爬虫实战一:分析豆瓣中最新电影的影评

简介刚接触python不久,做一个小项目来练练手。前几天看了《战狼2》,发现它在最新上映的电影里面是排行第一的,如下图所示。准备把豆瓣上对它的影评(短评)做一个分析。目标总览主要做了三件事:抓取网页数据清理数据用词云进行展示使用的python版本是3.5.运行环境:jupyer notebook,如在其他环境下运行报错了,请查看评论区的讨论,里面有一些解决办法。一、抓取网页数据第一步要对网页进行访...

weixin_37988176的博客 1892

ZooKeeper 实战:使用 Docker Compose 部署 ZooKeeper 集群

ZooKeeper是一个开源的分布式协调服务,用于管理大型分布式系统中的数据。它由Apache软件基金会提供,最初是Hadoop的一个子项目,但后来发展成为一个独立的顶级项目。ZooKeeper提供的一致性协调服务对于构建分布式应用和服务非常重要,特别是在需要精确的领导选举、配置管理、命名服务、分布式同步和提供分布式锁等功能时。

SmartSi 1541

python实现MACD策略背离点的判断 (附完整源码)

python实现MACD策略背离点的判断 (附完整源码)

希望我的博客,能帮上你解决学习中工作中所遇到的问题 669

python3爬虫初探(六)之EXCEL

在爬取数据之后,数据的保存就成为一个新的问题,一般不太大的的数据存储到EXCEL就可以了。这里介绍一个python的第三方库——xlsxwriter. 这个库的安装就不介绍了,pip就可以,不用FQ。这里仅介绍一些简单常用的命令。  首先,说明一下,xlsxwriter只能写入数据,不能读取和修改数据(读取和修改可以用xlrd和xlwt)。上代码。   import xlsxwrite

春华秋实 6286

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

爬取楼盘网并将数据保存在excel表中

初学,代码有点烂,有些错误先不处理。 #!/usr/bin/python # -*- coding: &lt;encoding name&gt; -*- import requests from bs4 import BeautifulSoup from openpyxl import Workbook wb = Workbook() ws = wb.active ws.append(['...

johnchiao的博客 767

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

GEO如何控制AI搜索爬虫?robots.txt、noindex与训练抓取权限实战

GEO中的爬虫访问控制需区分搜索抓取与模型训练抓取,因二者目的不同。OpenAI的OAI-SearchBot与GPTBot、Google的Googlebot与Google-Extended可独立配置。robots.txt控制抓取权限,noindex控制索引,二者不可混淆;仅靠Disallow无法确保内容不被索引。配置时应避免通配符规则叠加错误,且需结合服务器认证保障安全。验证可通过Python robotparser工具及实际日志分析。关键在于:规则表达意图≠平台必然执行,需依平台文档精准配置。

AB 客·外贸 B2B GEO 系统化提供商的博客 238

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

上一篇: HorizontalScrollView动态添加组件,限制一页的个数
下一篇: 初识Django笔记
MoLin_Eel
博客等级 码龄9年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值