数极客,拥有16种数据分析模型的新一代用户行为分析平台! 本篇文章是python爬虫系列的第四篇,介绍如何登录抓取新浪微博的信息。并对其中的关键内容进行提取和清洗。

开始前的准备工作 首先是开始之前的准备工作,与前面的文章相比,我们除了导入库文件,还把设置登录页URL,以及登录用户密码也放在了准备工作中。下面分别来说明。 导入所需的库文件,第一个是requests,用于请求和页面抓取,第二个是re正则库,用于从页面的代码中提取所需要的信息。第三个是pandas库,用来进行拼表以及数据导出。 #导入requests库(请求和页面抓取) import requests #导入正则库(从页面代码中提取信息) import re #导入pandas库(用于创建数据表和导出csv) import pandas as pd 开始抓取前,先找到新浪微博的登陆页面地址,PC端的页面内容较多,我们选择通过移动端页面登陆微博。地址是http://m.weibo.cn/,点击登陆后,跳转到登陆页面地址https://passport.weibo.cn/signin/login,这是我们要提交用户名和密码进行登陆的地址。此外还需要找到要抓取页面的URL地址。这里我们抓取“蓝鲸碎碎念”的微博首页。http://weibo.com/askcliff/home

#设置登陆用户名和密码 payload = { ‘username’: ‘用户名’, ‘password’: ‘密码’} #微博登陆页URL url1=’https://passport.weibo.cn/signin/login’ #微博内容抓取页URL url2=’http://weibo.com/askcliff/home’ 准备工作完成后,还需要对爬虫进行伪装,下面是具体的步骤和内容。

将爬虫伪装成浏览器 首先是设置头文件信息,里面包括浏览器的信息和字符编码以及引荐来源信息等等。这些信息的获得方法请参考本系列第三篇文章的内容。 #设置请求头文件信息 headers = {‘User-Agent’:’Mozilla/5.0 (Windows NT6.1) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11′, ‘Accept’:’text/html;q=0.9,*/*;q=0.8′, ‘Accept-Charset’:’ISO-8859-1,utf-8;q=0.7,*;q=0.3′, ‘Accept-Encoding’:’gzip’, ‘Connection’:’close’, ‘Referer’:’http://www.baidu.com/’ } 设置Cookie的内容,获得cookie值的内容也请参考第三篇文章的内容。唯一的不同在于需要在登陆状态下查看cookie值并进行保存。Cookie中会保存登陆信息。 #设置Cookie的内容 cookie={‘ALF’:’1512025918′, ‘Apache’:’5582079329023.459.1480472083206′,’SCF’:’AoVcrse87P6zmMtZKsEug5bAAo_H6Zt17MI3RlrtRpA4qlvNTTnENdzBgdAiYtXpxqNqfUnrc4z9taUndzaGr9c.’, ‘SINAGLOBAL’:’2194771417416.632.1423499773609′, ‘SSOLoginState’:’1480472583′, ‘SUB’:’_2A251OgvvDeTxGedI61YV-C_EyD6IHXVWTnonrDV8PUNbmtANLRXfkW-bhQmK-cEZIcxdomJO1Yzg52KkoQ..’,’SUBP’:’0033WrSXqPxfM725Ws9jqgMF55529P9D9WWgwwO53bYmTfR9ipEOyk5q5JpX5K2hUgL.Fo2cehBX1h2Re0z2dJLoIEXLxKnL1KeL1-BLxK.LBozLBonLxKMLBKzL12-LxKMLBKzL12-LxK-LB.qLBo-t’, ‘SUHB’:’02Me2StsrIXMMi’, ‘ULV’:’1480472083473:198:8:1:5582079329023.459.1480472083206:1479779756603′, ‘UOR’:’www.wpdaxue.com,widget.weibo.com,www.baidu.com’, ‘WBStorage’:’2c466cc84b6dda21|undefined’, ‘WBtopGlobal_register_version’:’e91f392a3df0305e’, ‘YF-Page-G0′:’ee5462a7ca7a278058fd1807a910bc74’, ‘YF-Ugrow-G0′:’3a02f95fa8b3c9dc73c74bc9f2ca4fc6’, ‘YF-V5-G0′:’35ff6d315d1a536c0891f71721feb16e’, ‘_T_WM’:’8519d55f44e2d02f81931ae8c417a1b1′, ‘__gads’:’ID=3ca23266e2f80acc:T=1423541337:S=ALNI_MbTV-7G_42zCQkplHbiQUzrDs36Zg’, ‘_ga’:’GA1.2.1810133914.1425401997′, ‘_s_tentry’:’www.baidu.com’, ‘login_sid_t’:’01055f2ea0a097fc1512f94fbc6b0c88′, ‘lzstat_uv’:’1488026467799833128|3200746′, ‘un’:’139******03′, ‘wvr’:’6′} 设置完headers和cookie信息后,就可以开始进行登陆并抓取页面信息了。

抓取微博信息 首先设置会话对象,保证每次页面请求都能保留cookie信息,换句话说就是每次请求都是登陆状态。然后以post形式向微博的登陆页面提交用户名和密码进行登陆。登录成功后,请求真正需要抓取的页面地址,并进行内容编码。这里抓取的是”蓝鲸碎碎念”的微博首页。 #设置一个会话对象 s = requests.Session() #以post形式提交登陆用户名和密码 s.post(url=url1, data=payload, headers=headers) #提交请求获取要抓取的页面信息 r=requests.get(url=url2, cookies=cookie, headers=headers) #获取页面的内容信息 html=r.content #对页面内容进行编码 html=str(html, encoding = “UTF-8”) #查看页面内容 html

提取信息并进行数据清洗 抓取完页面后,我们使用正则对页面中的信息进行提取,这里提取两个信息,第一是用户昵称。第二是用户性别。 首先使用正则提取用户昵称,然后用if判断并排除重复信息,得到用户的昵称字段。 #提取微博昵称信息 nickname=re.findall(r’nickname=(.*)’,html) #清洗微博用户昵称 nickname_1=[] for i in nickname: if not”gender” in i: nickname_1.append(i)

同样的方式提取用户性别,先使用正则提取,然后通过判断排除重复信息获得微博用户性别字段。 #提取微博用户性别 gender=re.findall(r’gender=(.*)”‘,html) #清洗微博用户性别 gender_1=[] for i in gender: if not”&” in i: gender_1.append(i)

生成数据表并导出数据 使用pandas库将微博用户昵称和性别两个字段拼成数据表。并导出为csv格式的文件,以便进行后续的统计和分析工作。 #生成数据表 weibo=pd.DataFrame({‘nickname’:nickname_1,’gender’:gender_1})

#导出为csv文件 weibo.to_csv(‘weibo.csv’) 数极客是新一代用户行为分析与数据智能平台,支持用户数据分析、运营数据分析、留存分析、路径分析、漏斗分析、用户画像、SEM数据分析等16种分析模型的数据分析产品,支持网站统计、网站分析、APP统计、APP分析等分析工具,以及会员营销系统和A/B测试工具等数据智能应用,支持SAAS和私有化部署,提升用户留存和转化率,实现数据驱动增长!

数极客是新一代用户行为分析与数据智能平台,支持用户数据分析、运营数据分析、留存分析、路径分析、漏斗分析、用户画像、SEM数据分析等16种分析模型的数据分析产品,支持网站统计、网站分析、APP统计、APP分析等分析工具,以及会员营销系统和A/B测试工具等数据智能应用,支持SAAS和私有化部署,提升用户留存和转化率,实现数据驱动增长!

【独家稿件及免责声明】本站原创文章如需转载请联系我们,未经书面许可禁止转载,本站转载文章著作权归原作者所有,如有侵权请联系:。

python爬去新浪微博_使用python抓取新浪微博数据相关推荐

  1. Python,网络爬虫selenium与pyautogui抓取新浪微博用户数据

    Python,网络爬虫selenium与pyautogui抓取新浪微博用户数据 不需要登陆新浪微博账户,直接运行就可以通过python爬虫爬取新浪微博用户数据.本例selenium与pyautogui ...

  2. Python网络爬虫,pyautogui与pytesseract抓取新浪微博数据,OCR

    Python网络爬虫,pyautogui与pytesseract抓取新浪微博数据,OCR方案 用ocr与pyautogui,以及webbrowser实现功能:设计爬虫抓取新浪微博数据,比如,抓取微博用 ...

  3. python爬携程_用python selenium抓取携程信息

    最近在学习selenium,遇到一个很奇怪的问题,debug了半天还是没弄明白,我是在测试抓取携程网站的机票信息 我的代码: # -*- coding: utf-8 -*- from selenium ...

  4. python爬房源信息_用python爬取链家网的二手房信息

    题外话:这几天用python做题,算是有头有尾地完成了.这两天会抽空把我的思路和方法,还有代码贴出来,供python的初学者参考.我python的实战经历不多,所以代码也是简单易懂的那种.当然过程中还 ...

  5. python爬视频下载_爬虫 | Python下载m3u8视频

    参考资料: # 配置环境 import requests,re import sys,time import os import numpy as np import glob work_dir = ...

  6. python代码去马赛克_十行python代码教你如何去除万恶的,如s一样的马赛克

    世界上有一种东西,叫作马赛克,不知道困扰了多少痴男怨女.小编新get到一个技能,忍不住拿出来秀一秀. 小编这几天的了解其实水印和马赛克的原理是一样的,都是覆盖.一般是去不了的,那么这个技术来了,请看~ ...

  7. python 爬虫课程推荐_关于递归抓取的课程推荐

    Python爬虫包 BeautifulSoup 递归抓取实例详解概要:爬虫的主要目的就是为了沿着网络抓取需要的内容.它们的本质是一种递归的过程.它们首先需要获得网页的内容,然后分析页面内容并找到另一个 ...

  8. python爬贴吧回复_Python爬虫——抓取贴吧帖子

    对珊瑚老哥保证了自己会尽量补档动画MTV吧的资源,有空应该研究下爬虫了. 不要在意头图,我不会假借各位对某个动漫的爱好然后坑人的.无论是电磁炮吧主那种拿电磁铁糊弄人的奸商,还是逸站靠小林做幌子卖收费破 ...

  9. python 爬网页通知_用Python实现一个爬取XX大学电费通知的小脚本

    内容简要 1分析网站 2简单爬取 3进阶自定义爬取 4保存进数据库 学校基础设施太差,宿舍电量过低提醒虽然贴在楼下,但是作为低头一族,经常忘记看提醒导致宿舍酣战时突然黑屏,为了避免这种尴尬的场景以及强 ...

  10. python淘宝爬虫_简单的抓取淘宝图片的Python爬虫

    写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品. 从网页http://mm.taobao.com/json/request_top_list.htm?type ...

最新文章

  1. python 多种图片数据格式互转
  2. java9新特性-16-Deprecated的相关API
  3. 后台开发经典书籍--Linux多线程服务端编程:使用muduo C++网络库
  4. iOS - Quartz 2D 画板绘制
  5. 关于单车创新的一两点思考
  6. springMVC九大组件及一次请求流程
  7. 获得最新纪录 sql
  8. 【CASS精品教程】Win7+CAD2008+CASS9.1(含CASS3D)完美安装教程(附完整软件安装包下载)
  9. laydate时间控件有时候无效_新角度,如何无效没用地听课
  10. python文件批量重命名以数字~n的方式重命名_利用Python对文件进行批量重命名
  11. unix grep命令_Linux / UNIX中的Grep命令
  12. 百度地图手机端单触点单击和长按事件,解决部分手机(小米手机)地图单击事件失效,多触点、拖动依然触发长按的bug...
  13. Understanding COM Apartments
  14. WindowsXP_KB909667_x86_ENU
  15. Android破解学习之路(十五)—— 【Unity3D】洛菲斯的呼唤(Lophis roguelike)无限金币(道具)的实现 破解
  16. 完美世界hr给大家的简历修改和面试的建议
  17. 计算机组装考核记录表,电脑组装与维护考核方案.doc
  18. (附源码)springboot社区文明养宠平台 毕业设计 231609
  19. python4(循环)
  20. 如何让DIV元素永远居中显示

热门文章

  1. SLAM大牛实验室汇总(转载)
  2. w3school学习笔记2(MySQL)
  3. 动手学深度学习之数据预处理
  4. ER Studio 直接导出sql建表
  5. UML 类图生成工具simpleUML
  6. 全15期BIM等级考试解析(内附考试秘籍)
  7. abd串口工具使用教程_一体机电脑维修工具下载及使用教程
  8. 【 Ubuntu 】谷歌输入法——繁体简体切换
  9. 通过cmd上传文件ftp服务器,通过cmd完成FTP上传文件操作
  10. CMD下复制文件和文件夹