2018/2/27,这是我的第一篇博客,写的目的很单纯,就是记录自己学习过程中遇到的问题以及解决方法。

初次学习爬虫,本人不才,代码其实也是学习一些B站视频。下面开始爬取的步骤

由于是为了爬取粉丝的评论,所以我们的目标就是要找到包含评论的代码,再将其解析并保存下来

1.找到代码

爬取的网页是https://m.weibo.cn/status/4160547165300149(鹿晗和关晓彤宣布恋爱关系的那篇微博,别问我为什么,我不是鹿晗粉,瞎找的),通过查看源代码,没有找到关于粉丝评论的只言片语,找到开发者页面,滑动网页,有get请求弹出,进入请求网址,查看到具有粉丝评论的大串信息(我用的火狐浏览器)。至此,网页代码找到,现在可以开始写代码了。

2.关键部分,代码来了

# 模块导入import requests
import pandas as pd
import json
import time# 设置头部和cookie,反爬,伪装
header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0'}
Cookie = {'Cookie':'_T_WM=a44631c71b0383c78a0b6cc916df85b3; WEIBOCN_FROM=1110006030; M_WEIBOCN_PARAMS=uicode%3D20000061%26fid%3D4160547165300149%26oid%3D4160547165300149'}url = 'https://m.weibo.cn/api/comments/show?id=4160547165300149&page=1'
html = requests.get(url,headers=header,cookies=Cookie)ii = 1
while html.status_code == 200:ii = ii + 1url_next = 'https://m.weibo.cn/api/comments/show?id=4160547165300149&page=' + str(ii)# 仔细观察网页源码结构,上面得到的html是个多重嵌套字典try:for jj in range(len(html.json()['data']['data'])):data1 = [(html.json()['data']['data'][jj]['id'],html.json()['data']['data'][jj]['user']['screen_name'],html.json()['data']['data'][jj]['created_at'],html.json()['data']['data'][jj]['source'],html.json()['data']['data'][jj]['user']['id'],html.json()['data']['data'][jj]['user']['profile_url'],html.json()['data']['data'][jj]['user']['profile_image_url'],html.json()['data']['data'][jj]['text'])]data2 = pd.DataFrame(data1)data2.to_csv('C:/Users/HP/Desktop/learn_test/weibo.csv', header=False, index=False, mode='a+')except:Nonetime.sleep(2)  #设置爬取间隔,太过频繁有可能会被微博认定为爬虫(虽然我们本来就是爬虫,手动滑稽。。。)html = requests.get(url_next,headers=header,cookies=Cookie)

代码中我将爬取到的数据保存为csv文件,通过简单的数据分析,得知评论的人群中所用的手机型号多数为OPPO、vivo和苹果

3.遇到的问题

出现下列报错信息,网上找了很久解决方法,包括增加解码decode('utf-8'),都是没解决,最后还是靠大神慧眼,看出代码中头部'User-Agent'信息不完整,导致报错。

UnicodeEncodeError: 'latin-1' codec can't encode character '\u2026' in position 30: ordinal not in range(256)

4.总结

理清了爬虫的基本流程及模块的简单应用

爬虫实战:爬取微博明星的某一条动态的粉丝评论相关推荐

  1. python 爬虫热搜_Python网络爬虫之爬取微博热搜

    微博热搜的爬取较为简单,我只是用了lxml和requests两个库 1.分析网页的源代码:右键--查看网页源代码. 从网页代码中可以获取到信息 (1)热搜的名字都在 的子节点里 (2)热搜的排名都在 ...

  2. node 爬虫 实战 - 爬取拉勾网职位数据

    node 爬虫 实战 - 爬取拉勾网职位数据,主要想把数据用于大数据学习,到时候大数据分析可以自己分析一下职位的情况,和比较一些我现在的职位在深圳乃至全国的开发人员水平. 涉及到的技术栈:node.j ...

  3. Python爬虫实战爬取租房网站2w+数据-链家上海区域信息(超详细)

    Python爬虫实战爬取租房网站-链家上海区域信息(过程超详细) 内容可能有点啰嗦 大佬们请见谅 后面会贴代码 带火们有需求的话就用吧 正好这几天做的实验报告就直接拿过来了,我想后面应该会有人用的到吧 ...

  4. python爬虫微博热搜_Python网络爬虫之爬取微博热搜

    微博热搜的爬取较为简单,我只是用了lxml和requests两个库 url= https://s.weibo.com/top/summary?Refer=top_hot&topnav=1&am ...

  5. python爬虫实战---爬取大众点评评论

    python爬虫实战-爬取大众点评评论(加密字体) 1.首先打开一个店铺找到评论 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手. 很多 ...

  6. python爬虫实战-爬取视频网站下载视频至本地(selenium)

    #python爬虫实战-爬取视频网站下载视频至本地(selenium) import requests from lxml import etree import json from selenium ...

  7. python爬虫实战-爬取微信公众号所有历史文章 - (00) 概述

    http://efonfighting.imwork.net 欢迎关注微信公众号"一番码客"获取免费下载服务与源码,并及时接收最新文章推送. 最近几年随着人工智能和大数据的兴起,p ...

  8. Scrapy 爬虫实战-爬取字幕库

    Scrapy 爬虫实战-爬取字幕库 1.首先,创建Scrapy框架 创建工程 scrapy startproject zimuku创建爬虫程序 cd zimuku scrapy genspider z ...

  9. 九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解...

    封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import j ...

最新文章

  1. html 流动效果,html5 canvas流动的海浪特效
  2. 机器学习算法精讲20篇(一)-k-means聚类算法应用案例(附示例代码)
  3. 网转 mm IOS 报表
  4. 查询每个班级排名第三的学生
  5. windows DNS服务器的配置
  6. JFreechart从入门到放弃
  7. server2003安装sqlserver以及基本操作
  8. oracle 范鑫_【企业信息化研究所】TF—SWUFE Oracle Club招新宣讲,只为和你相遇
  9. 0元参会丨第十届数据技术嘉年华精彩抢先速览
  10. 一只小白,在学习delphi.感觉很吃力。。
  11. Outlook2007 打不开EXCEL?
  12. 1688获得店铺详情数据教程
  13. mysql主从skip1677_mysql主从复制部署
  14. GooglePlay马甲包过审详细流程
  15. SetItemText
  16. ios 滤镜处理(详细滤镜介绍)及处理方法
  17. usaco 2012 Open【Running Laps奶牛赛跑】
  18. 春节快乐!(深度学习框架相关文章整理)
  19. 吉利博瑞星越缤瑞领克01/02/03车机安装第三方软件carplay启用教程,附最新可用dns
  20. 火狐浏览器如何自动朗读网页的内容

热门文章

  1. 普林斯顿大学形状基准
  2. Phoenix and Balance
  3. 2 Thread之GUC
  4. 计量经济学第六版第三章计算机答案,计量经济学第3章计算机习题.docx
  5. 将.C文件编译成最小的PE可执行文件
  6. css3 text-overflow制作固定区域的博客列表
  7. Windows端口代理转发
  8. StringRedisTemplate与RedisTemplate异同源码探秘
  9. 打造Ai作图studio需要哪些工具
  10. Nginx反向代理配置详解