python爬虫软件安装不了_Mac os 下 python爬虫相关的库和软件的安装

由于最近正在放暑假,所以就自己开始学习python中有关爬虫的技术,因为发现其中需要安装许多库与软件所以就在这里记录一下以避免大家在安装时遇到一些不必要的坑。

一. 相关软件的安装:

1. homebrew:

homebrew 是mac os系统下的包管理器由于功能齐全所以在这里比较推荐大家安装,安装及使用教程在我的另一篇博客中,在此附上链接 homebrew的安装。

2.anaconda:anaconda是python下的包管理器,支持创建虚拟环境等功能,个人认为比自带的pip好用,安装anaconda可以前往其官网,链接如下:

二. 请求库的安装

requests:由于requests是第三方库,所以需要手动安装,安装过程如下。

1 .相关链接

Github:https://github.com/requests/requests

PyPi:https://pypi.python.org/pypi/requests

官方文档:http://www.python-requests.org

中文文档:http://docs.python-requests.org/zh_CN/latest

2. 安装库,我们使用conda指令进行安装,在终端中输入如下指令即可成功安装requests库

conda install requests

Selenium:是一个自动化的测试工具,利用它可以驱动浏览器执行特定的动作,如过页面的数据通过JavaScript动态加载则需要使用到它,其安装过程如下。

1. 相关链接

官方网站:http://www.selenium.org

Github:https://github.com/seleniumHQ/selenium/tree/master/py

PyPi:https://pypi.python.org/pypi/selenium

官方文档:http://selenium-python.readthdocs.io

中文文档:http://selenium-python-zh.readthedocs.io

2. 安装库,我们同样使用 conda指令进行安装,在终端中输入如下指令即可安装selenium库

conda install selenium

ChromeDriver:应为selenium需要浏览器配合使用,那么如果默认使用的是chrome浏览器,则需要安装chromeDrvier驱动(版本需要与你使用的chrome的版本兼容),其安装过程如下。

1. 相关链接

官方网站:http://sites.google.com/a/chromium.org/chromedriver

下载地址:  http://chromedriver.storage.googleapis.com/index.html

2. 安装chromedriver,由于我们安装了homebrew包管理器,我们就可以直接使用brew指令进行安装,在终端中输入下列代码即可进行安装chromedriver了

brew cask install chromedriver

3. 安装好后,我们可以在程序中进行测试,代码如下

from selenium importwebdriver

browser= webdriver.Chrome()

若能正确弹出空白的chrome浏览器,则证明配置没有问题啦!

三. 解析库安装

lxml:是python的一个解析库,用于解析html和xml并且对xpath表达式提供了支持,是一个很基础的解析库,安装方式如下。

1. 相关链接

官方网站:http://lxml.de

Github:https://github.com/lxml/lxml

PyPI:https://pypi.python.org/pypi/lxml

2.我们使用conda指令进行安装,只需在终端中输入以下代码安装即可

conda install lxml

BeautifulSoup:你没看错,它叫美丽汤,它可以解析html和xml并支持多种方式操作网页中的标签和属性,非常强大的解析库并且官方文档也很友好,安装方式如下。

1. 相关链接

官方文档:https://www.cremmy.com/software/BeautifulSoup/bs4/doc

中文文档:https://www.cremmy.com/software/BeautifulSoup/bs4/doc.zh

2. 我们依旧使用conda指令进行安装,在终端中输入如下代码安装即可

conda install beautifulsoup4

3. 安装好后,我们可以在程序中测试它的解析功能,代码如下

from urllib.request importurlopenfrom bs4 importBeautifulSoupif __name__ == "__main__":

html= urlopen("http://www.cnblogs.com") #urlopen 获取html页面

bs_obj=BeautifulSoup(html) #BeauitfulSoup解析后返回print(bs_obj.get_text) #返回除标签外的纯文本

PyQuery:也是解析工具,提供与jquery(几年前非常火热的JavaScript框架)类似的语法解析html同样也支持css选择器,安装方式如下。

1. 相关链接

Github:https://github.com/gawel/pyquery

PyPI:https://pypi.python.org/pypi/pyquery

官方文档:http://pyquery.readthedocs.io

2. 我们仍然使用conda指令安装,但同时也可以使用pip3指令安装,在终端输入如下代码中的一个安装即可

#使用 conda安装

condainstallpyquery

#使用 pip3安装

pip3install pyquery

tesserocr:可以用来识别验证码或者图片的OCR(光学字符识别)解析库,它是对python API的封装,所以安装它需要先安装tesseract,它们的安装方式如下

1. 相关链接

tesserocr Github:https://github.com/sirfz/tesserocr

tesserocr PyPI:https://pypi.python.org/pypi/tesserocr

tesseract 下载地址:http://digi.bib.uni-mannheim.de/tesserocr

tesseract Github:https://github.com/tesseract-ocr/tesseract

tesseract 语言包:https://github.com/tesseract-oct/tessdata

tesseract 文档:https://github.com/tesseract-ocr/tesseract/wiki/Documentation

2. 我们现需要使用brew指令安装ImageMagick和tesseract库,然后再使用conda指令安装tesserocr库,在终端中按次序输入以下代码即可

# 安装ImageMagick

brewinstallimagemagick

# 安装 tesseract

brewinstall tesseract --all-languages

# 安装 tesserocr

condainstall tesserocr

3. 安装好后,我们可以在程序中测试它是否能正确运行,代码如下

importtesserocrfrom PTL importImage

image= Image.open('example.jpeg')print(tesserocr.image_to_text(image)) #将图片中的文字转换为字符串

好了至此,与python爬虫相关的基础库已经安装完成了,本文中并未涉及scrapy库的安装。因为个人认为还是先不要使用框架自己编写爬虫更能提升自己的编码能力,谢谢大家的阅读!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php中文删除乱码部分,PHP中文乱码解决办法

一. 首先是PHP网页的编码1. php文件本身的编码与网页的编码应匹配a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charsetgb2312"),静态页面添加,所有文件的编码格…

hdfs 多租户_【技术干货】常见的HDFS面试问答精选

最常见的HDFS面试问答1. 什么是HDFS?答:HDFS代表Hadoop分布式文件系统,该系统将大型数据集存储在Hadoop中。它可以在商用硬件上运行,并且具有很高的容错能力。HDFS遵循主/从体系结构,其中许多计算机在集群上运行。群集…

python装饰器常见问题_python 装饰器常见用法

跟踪调用class tracer: # State via instance attributesdef __init__(self, func): # On decoratorself.calls 0 # Save func for later callself.func funcdef __call__(self, *args, **kwargs): # On call to original functionself.calls 1print(call %s to %s % (self…

php通过url传递变量,PHP:如何在模态URL中放置和传递变量

所以,我有一个按钮,可以在同一页面中直接链接到模态.这是按钮和网址href"main_user.php?user_id<?php echo $user[user_id]; ?>#myModal"class"btn btn-warning">(我尝试在#modal之前回显$user_id)是不是&#xff1f;单击按钮后,将出现模态.这…

python 根据类名 查找module_关于 Python 命令中的 m 参数

在命令行中使用 Python 时&#xff0c;它可以接收大约 20 个选项(option)&#xff0c;语法格式如下&#xff1a;python [-bBdEhiIOqsSuvVWx?] [-c command | -m module-name | script | - ] [args]本文想要聊聊比较特殊的“-m”选项&#xff1a;关于它的典型用法、原理解析与发…

php xampp bug,PHP网站访问慢的处理方法

如果网站跑在了LAMP环境中&#xff0c;就无法使用php-fpm的slow log了&#xff0c;那如何分析瓶颈点&#xff1f;没关系你还可以使用这个XdebugWebgrind&#xff0c;其中Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具)&#xff0c;可以用来跟踪&#xff0c;调试和分析…

matlab安装程序无法启动jvm_JVM 执行 Java 程序时的内存区域划分

在学习 Java 虚拟机(后面简称&#xff1a; JVM )中的垃圾回收机制(GC)之前&#xff0c;先需要了解 在 JVM 中的 Java 程序(class 文件)加载到内存之后到底是怎么存的。在阅读了 JVM规范 和周志明的 《深入理解Java虚拟机(第2版)》 之后&#xff0c;总结一下JVM中的内存划分以及…

phpFpm加载php,php-fpm添加service服务的例子

nginx通过FastCGI运行PHP比Apache包含PHP环境有明显的优势,最近有消息称,PHP5.4将很有可能把PHP-FPM补丁包含在内核里,nginx服务器平台上运行PHP将更加轻松,下面我们就来看一篇php-fpm平滑启动并配置服务例子。我的php是源码安装的。php-fpm在PHP 5.3.2以后的版本不支持以前的p…

python 性能问题_Python 性能问题一直饱受诟病,这篇我们讨论下提升 Python 应用性能的常见方法。...

Python - 提高Python运行效率的六个窍门Python是一门优秀的语言&#xff0c;它能让你在短时间内通过极少量代码就能完成许多操作。不仅如此&#xff0c;它还轻松支持多任务处理&#xff0c;比如多进程。不喜欢Python的人经常会吐嘈Python运行太慢。但是&#xff0c;事实并非如此…

php中没有dockerfile,Dockerfile在RUN composer install命令中没有使用缓...

我以为我已经理解了Docker,但今天我发现了一些关于利用docker缓存的问题.这是我的dockerfileFROM quay.io/my_company/phpjenkinsWORKDIR /usr/src/my_projectADD composer.json composer.jsonADD composer.lock composer.lockRUN composer install -oADD . .RUN mkdir -p temp…

map循环遍历取值_Collection集合框架集和map

Collection集合框架集Java培训之Collection集合框架集MapMap概述Map与Collection并列存在。用于保存具有映射关系的数据:Key-ValueMap 中的 key 和 value 都可以是任何引用类型的数据Map 中的 key 不允许重复key 和 value 之间存在单向一对一关系&#xff0c;即通过指定的 key …

php查询字段前30个字符,php/json我的字段名被截断为30个字符。我能停下来吗?

好吧,我得到了一个供应商软件,他们说应该在ApachePHP服务器和MySQL数据库上运行。我没有这两个,所以我把它放在一个php-iis服务器上,并将代码转换为在SQL服务器上工作。前任。mysql_select_db->mssql_select_db(除其他外)所以我在一个PHP文件中有以下代码$query "SELE…

rserve php,使用Rserve远程执行R脚本

Rserve介绍Rserve是一个基于TCP/IP协议的&#xff0c;允许R语言与其他语言通信的C/S结构的程序&#xff0c;支持C/C,Java,PHP,Python,Ruby,Nodejs等。 Rserve提供远程连接&#xff0c;认证&#xff0c;文件传输等功能。我们可以设计R做为后台服务&#xff0c;处理统计建模&…

搜索引擎提交软件_搜索引擎优化的发展史及SEO前景展望

SEO 是随着搜索引擎的普及而出现&#xff0c;并伴随搜索引擎的发展而发展的。关于搜索引擎和搜索引擎优化SEO 最初是怎么诞生的有很多种说法。有一个非常有趣的事实是&#xff0c;最早的一批SEO 甚至可以追溯到Yahoo 出现之前&#xff0c;我们可以把Yahoo 的传世人David Filo 和…

mongodb模糊查询_MongoDB的CRUD基本操作

原创&#xff1a;牛津小马哥Python后端工程师小李哥。在上周的推文中&#xff0c;我们介绍了MongoDB的数据库和集合的操作&#xff0c;现在&#xff0c;让我们来继续学习mongodb的另一个操作&#xff1a;CRUDCRUD操作&#xff1a;创建、读取、更新、删除文档。创建操作&#xf…

java有关问题,java经典有关问题!

java经典问题&#xff01;&#xff01;&#xff01;问题一&#xff1a;与equal的区别&#xff1f;和 equals 都是比较的,而前者是运算符,后者则是一个方法,基本数据类型和引用数据类型都可以使用运算符,而只有引用类型数据才可以使用 equals,下面具体介绍一下两者的用法以及区别…

python怎么创业_python创业

从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O&#xff0c;OLAP&#xff0c;Web开发&#xff0c;高性能网络通信&#xff0c;测试&#xff0c;爬虫等。Django:PythonWeb应用开发框架Django应该是最出名的Python框架&#xff0c;GAE甚至Erlang都有框架受…

python开发需要什么基础_零基础学习Python需要用什么开发工具?

对于学习Python的小伙伴&#xff0c;小编首推的Pycharm。首先&#xff0c;PyCharm用于一般IDE具备的功能&#xff0c;比如&#xff0c; 调试、语法高亮、Project管理、代码跳转、智能提示、自动完成、单元测试、版本控制另外&#xff0c;PyCharm还提供了一些很好的功能用于Djan…

php send helo/ehlo first错误,phpmailer发送邮件提示SMTP server error怎么回事?

以下是我的代码错误提示信息为&#xff1a;SMTP server error: Error: send HELO/EHLO first如果把SMTPAuth改为true&#xff0c;错误为SMTP Error: Could not authenticate. Mail errorSMTP Error: Could not authenticate.请教大神是什么原因&#xff1f;是不是还需要哪些设置…

python elasticsearch_python elasticsearch模块使用

加载模块from elasticsearch import Elasticsearch连接ESes Elasticsearch(["172.30.6.12"])查询res es.search(index"test-index", body{"query":{"match_all":{}}})# 查询请求主机是ai.baidu.com 所有信息res es.search(index&qu…