Ubuntu下python的BeautifulSoup和rsa安装方法---信息检索project2部分:微博爬取所需python包

本文主要是介绍Ubuntu下python的BeautifulSoup和rsa安装方法---信息检索project2部分:微博爬取所需python包,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近因为《信息检索》第二个project,需要爬取微博数据,然后再处理。师兄给了代码,让慢慢爬,但是在ubuntu下,少了很多python软件包。需要安装。

1.首先运行时,说少了python,BeautifulSoup包,用来解析html文件神奇,这么重要的包怎么能缺少呢,百度ubuntu python BeautifulSoup后,看博客后找到方法:

先安装easy_install工具:

 再用easy_install安装:

easy_install BeautifulSoup

若是还没有安装easy_install,在ubuntu下,会自动提示按怎样的命令去安装。

2.继续运行,说是缺少rsa包,想到是师兄在pdf文档里提到用pip安装一些通过pip按张rsa。运行:

pip install -r requirements.txt
#不行,需要在root权限,换
sudo pip install -r requirements.txt

 

安装成功,执行源代码,可行。

3.另外的话,缺少display的话,用来展示验证码的。通过以下命令安装:

sudo apt-get install imagemagick

若是不能安装display的话,注释掉weibo/crawler/toolkit/accountlib.py第178行变量proc和第182行proc.kill()

#proc = subprocess.Popen(['display', filename])		#第178行
self.loginpostdata['pcid'] = pcid
self.loginpostdata['door'] = raw_input(u'请输入验证码:')
os.remove(filename)
#proc.kill()										#第182行

 

但与之相对的,在运行时,需要在文件夹里打开抓取的验证码图片,在终端手动输入验证码。

有一点挺疑惑的是,队友直接没有安装display,直接使用

python main.py display

连验证码都没有输入,直接能够进入爬取部分,而且能够爬取出数据,吓尿。

4.有的时候在抓取文件,但是没有下载,坑爹,没想到这问题,还没解析代码就那么运行着,还以为已经在抓取呢。在自己的笔记本centos6.5下抓取的时候甚是麻烦而且没成功。换了实验室里ubuntu14.04.1LTS版本,改好了一下参数终于在怕去数据了,下一步要分析数据,进行后续任务了。

5.爬取微博的时候,速度可能有些慢,平均下来爬18页/min,要看网速了。不过可以改crawler/config.py参数

begin_time="2012-11-1 00:00:00"
end_time="2014-11-1 00:00:00"

把用户数据降将为一年,但是相应的,在后续分析用户数据时,少了的话,当然也是有一定的影响了。而已经爬取的部分不会再爬取。

转载请认证:http://blog.csdn.net/u010454729/article/details/40656087

这篇关于Ubuntu下python的BeautifulSoup和rsa安装方法---信息检索project2部分:微博爬取所需python包的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/990989

相关文章

Linux换行符的使用方法详解

《Linux换行符的使用方法详解》本文介绍了Linux中常用的换行符LF及其在文件中的表示,展示了如何使用sed命令替换换行符,并列举了与换行符处理相关的Linux命令,通过代码讲解的非常详细,需要的... 目录简介检测文件中的换行符使用 cat -A 查看换行符使用 od -c 检查字符换行符格式转换将

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Python FastAPI+Celery+RabbitMQ实现分布式图片水印处理系统

《PythonFastAPI+Celery+RabbitMQ实现分布式图片水印处理系统》这篇文章主要为大家详细介绍了PythonFastAPI如何结合Celery以及RabbitMQ实现简单的分布式... 实现思路FastAPI 服务器Celery 任务队列RabbitMQ 作为消息代理定时任务处理完整

Python Websockets库的使用指南

《PythonWebsockets库的使用指南》pythonwebsockets库是一个用于创建WebSocket服务器和客户端的Python库,它提供了一种简单的方式来实现实时通信,支持异步和同步... 目录一、WebSocket 简介二、python 的 websockets 库安装三、完整代码示例1.

揭秘Python Socket网络编程的7种硬核用法

《揭秘PythonSocket网络编程的7种硬核用法》Socket不仅能做聊天室,还能干一大堆硬核操作,这篇文章就带大家看看Python网络编程的7种超实用玩法,感兴趣的小伙伴可以跟随小编一起... 目录1.端口扫描器:探测开放端口2.简易 HTTP 服务器:10 秒搭个网页3.局域网游戏:多人联机对战4.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

Linux系统中卸载与安装JDK的详细教程

《Linux系统中卸载与安装JDK的详细教程》本文详细介绍了如何在Linux系统中通过Xshell和Xftp工具连接与传输文件,然后进行JDK的安装与卸载,安装步骤包括连接Linux、传输JDK安装包... 目录1、卸载1.1 linux删除自带的JDK1.2 Linux上卸载自己安装的JDK2、安装2.1

Java中的String.valueOf()和toString()方法区别小结

《Java中的String.valueOf()和toString()方法区别小结》字符串操作是开发者日常编程任务中不可或缺的一部分,转换为字符串是一种常见需求,其中最常见的就是String.value... 目录String.valueOf()方法方法定义方法实现使用示例使用场景toString()方法方法

Java中List的contains()方法的使用小结

《Java中List的contains()方法的使用小结》List的contains()方法用于检查列表中是否包含指定的元素,借助equals()方法进行判断,下面就来介绍Java中List的c... 目录详细展开1. 方法签名2. 工作原理3. 使用示例4. 注意事项总结结论:List 的 contain

Python使用自带的base64库进行base64编码和解码

《Python使用自带的base64库进行base64编码和解码》在Python中,处理数据的编码和解码是数据传输和存储中非常普遍的需求,其中,Base64是一种常用的编码方案,本文我将详细介绍如何使... 目录引言使用python的base64库进行编码和解码编码函数解码函数Base64编码的应用场景注意