爬虫---豆瓣网评论内容

  这段时间肯定经常听到一句话“我命由我不由天”,没错,就是我们国产动漫---哪咤,今天我们通过python还有上次写的pyquery库来爬取豆瓣网评论内容

爬取豆瓣网评论

1、找到我们想要爬取的电影---小哪咤

2、查看影片评论

点击查看我们的影评,发现只能查看前200个影评,这里就需要登录了

分析出来全部影评的接口地址

好巧用到了上次写的通过requests登录豆瓣网,然后通过session会话访问评论内容-----post请求登录豆瓣网

# coding:utf-8
import requests
# 登录请求地址
s = requests.session()
url = ‘https://accounts.douban.com/j/mobile/login/basic‘
# 请求头
headers = {
        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
}
# body数据
data = {
        ‘name‘:"xxxxx",   # 账号
        "password":"xxxx",  # 密码
        "remember":"false"
}
# 发送请求
r = s.post(url,headers=headers,data=data)
# 全部评论内容
url2 = ‘https://movie.douban.com/subject/26794435/comments?start=20&limit=20&sort=new_score&status=P‘
r2 = s.get(url2,headers=headers).content

3、通过pyquery解析html

导入pyquery解析html内容,分析html数据

评论人的在 class =‘comment-info’下的a标签中;

影评内容在class=‘short’中

4、提取html上我们想要的内容

已经分析出来我们想要的数据在哪里,那么接下来就是提取数据了

# 解析html
doc = pq(r2)
items = doc(‘.comment-item‘).items()
# 循环读取信息
for i in items:
    # 评论昵称
    name = i(‘.comment-info a‘).text()
    print(name)
    # 评论内容
    content = i(‘.short‘).text()
    print(content)

5、循环读取全部评论并且写入txt文件中

这个地方用到的知识点写入应该不用在具体说了;

循环读取全部评论就要查看分页情况了。找到2个url进行对比就可以看出来了

url1:https://movie.douban.com/subject/26794435/comments?status=P

url2:https://movie.douban.com/subject/26794435/comments?start=20&limit=20&sort=new_score&status=P

通过对比我们发现分页通过start这个参数进行控制,这次我们通过while进行控制分页内容

import requests
from pyquery import PyQuery as pq
import time
import random
s = requests.session()
def data_html():
    url = ‘https://accounts.douban.com/j/mobile/login/basic‘
    headers = {
        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
    }
    data = {
        ‘name‘:"1",
        "password":"xxxxx",
        "remember":"false"
    }
    r = s.post(url,headers=headers,data=data,verify = False)
    if ‘安静‘ in r.text:
        print(‘登录成功‘)
    else:
        print(‘登录失败‘)

def data_shuju(count=0):
    print(‘开始爬取第%d页‘ % int(count))
    start = int(count * 20)
    headers = {
        "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36"
    }
    url2 = ‘https://movie.douban.com/subject/26794435/comments?start=%d&limit=20&sort=new_score&status=P‘ %(start)
    r2 = s.get(url2,headers=headers).content
    doc = pq(r2)
    items = doc(‘.comment-item‘).items()
    for i in items:
        name = i(‘.comment-info a‘).text()
        if not name:
            return 0
        content= i(‘.short‘).text()
        with open(‘12.txt‘,‘a+‘,encoding=‘utf-8‘)as f:
            f.write(‘{name}:\n{pinglun}\n\n‘.format(name=name,content=content)) return 1 

def data_data():   data_html()   count = 0   while data_shuju(count):     count += 1     time.sleep(random.random() * 3) 

  print(‘爬取完毕‘) data_data()

原文地址:https://www.cnblogs.com/qican/p/11290465.html

时间: 2024-10-29 19:14:41

爬虫---豆瓣网评论内容的相关文章

爬取豆瓣网评论最多的书籍

相信很多人都有书荒的时候,想要找到一本合适的书籍确实不容易,所以这次利用刚学习到的知识爬取豆瓣网的各类书籍,传送门https://book.douban.com/tag/?view=cloud. 首先是这个程序的结构,html_downloader是html下载器,html_outputer是导出到Excel表,html_parser是解析页面,make_wordcloud是制作词云,spided_main是程序入口,url_manager是URL管理器 主要实现思路是先请求下载需要的html,

【Python3 爬虫】16_抓取腾讯视频评论内容

上一节我们已经知道如何使用Fiddler进行抓包分析,那么接下来我们开始完成一个简单的小例子 抓取腾讯视频的评论内容 首先我们打开腾讯视频的官网https://v.qq.com/ 我们打开[电视剧]这一栏,找到一部比较精彩的电视剧爬取一下,例如:我们就爬取[下一站,别离]这部吧 我们找到这部电视剧的评论如下图: 我们看到上图标记部分[查看更多评论] 我们首先在Fiddelr中使用命令clear清除之前浏览的记录 输入命令直接回车即可 接着我们点击[查看更多评论],此时再次看Fiddler,我们可

豆瓣网技术架构的 发展历程(一)

豆瓣简介: •2005年3月上线 •以分享和发现为核心的社区 •读书.电影.音乐.小组.同城.九点 •我的豆瓣.友邻  一些数据: •2.8M注册用户,约1/4活跃用户•千万级非注册用户•20M动态请求/天,峰值500~600/sec•23台普通PC服务器(1U*15/2U*8) •12台提供线上服务•38G memcached 单服务器: • 单台1U服务器 (frodo)• 单核AMD Athlon 64 1.8GHz• 1G内存,160G SATA*2• Gentoo Linux• MyS

用requests和etree爬取豆瓣电影评论

写在前面的话 :上一篇文章我们用requests和lxml.etree爬取了豆瓣电影Top250的电影信息,为了能对requests和lxml.etree有更深的理解,下面我们将继续用他们来爬取豆瓣电影的短评 温馨提示 :博主使用的系统为win10,使用的python版本为3.6.5 一.网页分析 首先我们使用chrome浏览器打开某一部电影的评论(这里示例为最近很火的<一出好戏>),我们首先可以判断该网站是一个静态网页,和之前一样我们可以通过构造URL来获取全部网页的内容,但是这次我们尝试使

python爬虫--2019中国好声音评论爬取

2019中国好声音火热开播,作为一名"假粉丝",这一季每一期都刷过了,尤其刚播出的第六期开始正式的battle.视频视频看完了,那看下大家都是怎样评论的. 1.网页分析部分 本文爬取的是腾讯视频评论,第六期的评论地址是:http://coral.qq.com/4093121984每页有10条评论,点击"查看更多评论",可将新的评论加载进来,通过多次加载,可以发现我们要找的评论就在以v2开头的js类型的响应中. 请求为GET请求,地址是http://coral.qq.

小功能——类似微信里,评论内容里面,点击每个人的用户名进入个人主页

项目里的朋友圈页面,每幅图片的评论内容里面,有不同的用户进行评论,起初想法是点击用户名直接进行回复,后来看微信都是点击评论内容进行回复评论的发起人,这个好做,把这个textview绑定一个监听器就ok了 后来再一想,如果要实现类似微信点击用户名就进入用户的主页,怎么让用户名可以点击呢? 现在父布局下面在new一个水平布局的linearlayout,然后根据把每个用户.包括评论内容都设置进textview里面,然后通过linearlayout的addview()方法,把这些textview添加进去

003.[python学习] 简单抓取豆瓣网电影信息程序

声明:本程序仅用于学习爬网页数据,不可用于其它用途. 本程序仍有很多不足之处,请读者不吝赐教. 依赖:本程序依赖BeautifulSoup4和lxml,如需正确运行,请先安装.下面是代码: 1 #!/usr/bin/env python 2 # -*- coding: utf-8 -*- 3 4 5 import sys 6 reload(sys) 7 sys.setdefaultencoding('utf-8') #解决编码问题 8 9 10 """一个简单的从豆瓣网获取电

团队-爬虫豆瓣top250项目-开发文档

https://gitee.com/npq115/pachong/blob/master/savedata.py 项目:团队-爬虫豆瓣top250 我负责的模块:data 存储处理好的抓取到的电影名称 功能:存在部分问题,代码整合后发现只能获取到排名以及电影名称 还在完善. 我编写的部分: def saveData(datalist,savepath): book=xlwt.Workbook(encoding='utf-8',style_compression=0) sheet=book.add

Android项目实战(十六):QQ空间实现(一)—— 展示说说中的评论内容并有相应点击事件

原文:Android项目实战(十六):QQ空间实现(一)-- 展示说说中的评论内容并有相应点击事件 大家都玩QQ空间客户端,对于每一个说说,我们都可以评论,那么,对于某一条评论: 白雪公主 回复 小矮人 : 你们好啊~ 我们来分析一下: 1.QQ空间允许我们 点击 回复人和被回复人的名字就可以进入对于用户的个人主页(即点击文字“白雪公主”/“小矮人”,就可以进入到这俩用户相应个人主页) 2.点击 回复的文字,就可以对回复人进行回复(即点击评论中回复的内容“你们好啊~”,便对弹出一个编辑框对回复人