推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

基于Python的新浪微博爬虫分析

更新时间:2019-12-21 09:11:13 大小:1M 上传用户:songhuahua查看TA发布的资源 标签:python网络爬虫 下载积分:1分 评价赚积分 (如何评价?) 收藏 评论(0) 举报

资料介绍

在大数据时代下,新浪微博的出现为人们获取和参与信息数据及其传播提供了全新的途径。而面对新浪微博不断增加的信息数据,人们对于提高微博获取的精确性和时效性也提出了更高的要求。在这一背景下,本文将重点围绕基于Python的新浪微博爬虫进行简要分析研究,在对Python与网络爬虫的基本概念进行明确的基础上,尝试设计一种Python的新浪微博爬虫程序,为相关研究人员提供相应理论参考。


部分文件列表

文件名 大小
基于Python的新浪微博爬虫分析.pdf 1M

部分页面预览

(完整内容请下载后查看)
2019  
2019, Vol. 40, No. 4  
40 卷 第 4 期  
COMPUTER ENGINEERING & SOFTWARE  
国际 IT 媒品牌  
基于  
的新浪微博爬虫分析  
Python  
杜晓旭,贾小云  
(陕西科技大学,陕西 西安 710021)  
: 在大数据时代下浪微博的出现为人们获取和参与信息数据及其传播提供了全新的途径面对新  
浪微博不断增加的信息数据,人们对于提高微博获取的精确性和时效性也提出了更高的要求。在这一背景下,本文  
将重点围绕基于 Python 的新浪微博爬虫进行简要分析研究Python 与网络爬虫的基本概念进行明确的基础上,  
Python  
尝试设计一种  
关键词: Python;新浪微博;网络爬虫;程序设计  
: TP311.1 : A DOI 10.3969/j.issn.1003-6970.2019.04.039  
的新浪微博爬虫程序,为相关研究人员提供相应理论参考。  
中图分类号  
文献标识码  
本文著录格式:杜晓旭,贾小云. 基于 Python 的新浪微博爬虫分析[J]. 软件,2019404182185  
Python-based Crawler Analysis of Sina Weibo  
DU Xiao-xu, JIA Xiao-yun  
(Shaanxi University of Science and Technology, Xi'an, Shaanxi 710021)  
Abstract: During big data era, emergence of Sina Weibo provides new way for people to access and participate  
in information data and its dissemination. With increasing information and data of Sina Weibo, people put forward  
higher requirements for improving accuracy and timeliness of microblog acquisition. Under the backgroud, the  
paper analyzes and researches Python-based Sina Weibo crawler briefly, defines basic concepts of Python and  
Internet crawler, and attempts to design a Python Weibo crawler program, to provide related theoretical reference  
for researchers.  
Key words: Python; Sina Weibo; Web crawler; Programming  
页中应用程序或脚本进行自动提取的技术。在当前  
0
引言  
的搜索引擎中对数据系统进行抓取时,网络爬虫作  
为其中至关重要的组成部分之一,负责帮助搜索引  
擎快速从互联网上完成所需 Web 页面的下载操作,  
从而将互联网中的 Web 网页下载至本地用以有效备  
虫在从某一个或多个初始页面 URL 中对页面  
源文件进行分析,准确抓取新 Web 链接,并以此为  
基础寻找新 Web 链接直至完成全部页面的准确抓取  
虽然目前以新浪微博为代表的众多社会媒体均  
为研发人员提供了部分数据访问编程接口,使其能  
够准确获取相关信息数据。但实际在使用此类数据  
访问编程接口时经常容易受到诸多限制,如抓取频  
率等且难以精准搜索微博内容等。而本文通过探究  
基于 Python 的新浪微博爬虫设计以有效为精准  
获取微博数据提供全新的方法路径。对提高程序开  
发人员的工作效率和数据分析成效均具有积极的帮  
助作用。  
和分析[1-2]  
1.2 Python  
从本质上来说属于一种开源编程语言,  
Python  
其具有功能强大、语法简便、适用性良好等优势特  
1
网络爬虫与 Python 的基本概念  
性。  
语言具有较高的效率且完全面向对象,  
Python  
1.1 网络爬虫  
网络爬虫指的就是一种根据既定规则对 Web 网  
可以快速完成面向对象编程,加之其语法简洁并支  
持动态输入,因此目前在许多操作系统平台中均  
杜晓旭  
作者简介:  
,女,在读硕士,研究方向:大数据分析;贾小云  
,女,副教授、  
(1971 )  
会员,硕士,研究方向:大数  
CCF  
(1994 )  
据分析、软件工程。  
杜晓旭等:基于 Python 的新浪微博爬虫分析  
选择使用 Python 语言作为脚本语言,用于在短时  
间内开发相应应用程序Python 语言提供了针对网  
络协议标准库,抽象封装网络协议中的每一个层  
使得程序员能够节省大量的时间与精力进行程  
序逻辑处理。另外 Python 语言在对多种模式的字  
节流处理方面也具有一定的优势性,开发速度较  
而也使其被广泛运用在各种编程用程序  
开发中。  
文本信息,服务器在接收到新浪微博用户客户端发  
送的请求之后,将会对这一新浪微博用户客户端的  
实际状态进行准确记录,并按照既定规则对微博账  
号进行加密处理。随后将加密后的微博账号及时存  
储 在 Cookie 当 中 。 此 时 客 户 端 浏 览 器 将 会 从  
response 处获得其颁发的一个 CookieCookie 在  
及时被客户端浏览器存储后,新浪网站在接收得到  
浏览器发送的请求时览器将会连同  
与发  
Cookie  
送的请求网址一并提交至服务器。由服务器负责对  
Cookie 进行检查,从而对客户端的实际状态进行准  
确辨别体来说先需要使用 chrome 浏览器将  
新浪微博移动端打开,同时将开发者工具调出。随  
后打开浏览器并选中其中的 Preserve log 选项次  
将账号与密码键入其中,即可顺利登陆移动版新浪  
2
Python  
下的新浪微博爬虫程序设计  
2.1 设计构想  
在对新浪微博进行爬取的过程中,可以选择使  
用纯爬虫或是运用新浪提供的部分数据访问编程接  
口即 接口得注意的是然新浪微博  
Open API  
提供的数据访问编程接口本身便是为开发者程序开  
发所设计,但其存在诸多限制。例如只有得到新浪  
授权的开发者才能使用这一接口,一旦授权过期开  
发者便无法继续使用该接口Open API 接口在  
访问频次等方面同样存在一定的局限性。因此综合  
考虑,在设计基于 Python 的新浪微博爬虫程序时,  
本文选择使用纯爬虫的方式,重点爬取移动端的新  
浪微博内容。  
微博客户端时需要找到  
   
m.weibo.cn Headers  
Cookie 以及 headers,统一资源定位符 URL 主要是  
通过一种一种相对比较简便的方式,对可从互联网  
中直接获取的资源位置以及资源访问方法进行有效  
表示单来说 URL 即为互联网中的网页地址在  
互联网上任意一个文件有且只有一个 URL 与之相  
对应,URL 主要通过按照既定顺序排列各种数字与  
字母从而有效确定某一地址URL 中包含的具  
体信息,浏览器将会选择相应的处理方式。例如当  
爬取的 URL ‘http://weibo.cn/user_id之相对  
2.2 程序模块  
本文所设计的基于 Python 新浪微博爬虫程序采  
用模块化的设计理念,该程序总共分为三大模块。  
首先需要在完成新浪微博注册的基础上,根据注册  
中使用的账户名与密码登录进入移动端的新浪微  
博,对其网站源码进行准确分析,获取这一新浪微  
博账户的 Cookie[3-4] 此后需要通过借助 Request  
URL 获取登录页面 html 代码,并使用 Python 语言  
中自带的 lxml 库对该代码进行相应分析而准确  
爬取新浪微博用户的 user_ID后根据关键字对与  
其条件相符的微博进行自动筛选,筛选出的微博则  
需要统一保存至本地。最后对爬取的数据展开数据  
分析实验,验证该爬虫程序的有效性即可。  
应的爬取用户即为 user_id=“renminwang[5-6]  
2.3.2 网页分析  
Python 语言中带有若干 HTTP 客户端库,其中  
不仅包含 语言自带的 库之  
Urllib2  
Python  
Urllib  
带有 requests 这一第三方库requests 库具有  
功能强大作简便等优势特点URL 操作提  
供众多所需函数。在使用 requests 库的过程中,开  
发者可以如同对本地文件进行直接读取一般对互联  
网中的数据ftp 中的数据进行直接读取过运用  
requests 库,开发者能够在短时间内迅速抓取 URL  
内容通过向指定页面发送一个 GET 请求于  
2.3 程序设计  
库本身带有解析  
格式的功能,最后将  
Json  
requests  
2.3.1 获取账号 Cookie  
无需进行格式转换的 Json 格式的数据返回即可值  
得注意的是时所返回的数据为页面二进制数据,  
requests 库完成新浪微博页面源代码的有效获取  
后,将直接利用 Python 语言中自带的 lxml 库,利  
在该基于 Python 新浪微博爬虫程序中一步  
需要获取新浪微博账户的 Cookie 并获取对应的登录  
页面代码程序设计中 Cookie 专门指的是一小段  
《软件志欢迎推荐投稿
183  

全部评论(0)

暂无评论