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

一. 相关软件的安装:

  1. homebrew:

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

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

https://www.continuum.io/downloads,选择python3版本的安装包下载即可。

二. 请求库的安装

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 import webdriver

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 import urlopen
from bs4 import BeautifulSoup if __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安装
conda install pyquery
#使用 pip3安装
pip3 install 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
brew install imagemagick
# 安装 tesseract
brew install tesseract --all-languages
# 安装 tesserocr
conda install tesserocr

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

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

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

Mac os 下 python爬虫相关的库和软件的安装的更多相关文章

  1. 在mac os下编译android -相关文章

    1. Mac OS X下编译Android源码 http://blog.csdn.net/bulreed/article/details/22783467 2.MAC OS 编译 Android源代码 ...

  2. MAC OS下使用Xcode进行GLSL编程的配置过程

    整理自之前使用的163博客原创文章. GLSL项目中需要使用GLEW库,因此先要安装GLEW库和在Xcode中配置GLEW.要使GLEW在Xcode中被正确链接,又需要通过MacPorts来安装GLE ...

  3. Mac OS下 Redis2.6.14部署记录

    Mac OS下 Redis2.6.14部署记录 部署一个Redis作为缓存进行验证,记录部署过程. 官网:http://redis.io/,目前最近稳定版为2.6.14  解压,进入目录.按照READ ...

  4. python爬虫之urllib库(一)

    python爬虫之urllib库(一) urllib库 urllib库是python提供的一种用于操作URL的模块,python2中是urllib和urllib2两个库文件,python3中整合在了u ...

  5. mac os 下搭建android开发环境

    mac os 下搭建android开发环境 周银辉 mac os 下搭建android环境比较方便, 如下几个步骤: 1,安装jdk 先搞清楚自己是否已经安装,在命令行下:java -version, ...

  6. mac os 下的sublime --- 快捷键

    mac os 下的sublime ---列模式 http://www.oschina.net/question/249672_161413 触控板也可以的:左手同时按住 Option 和触控板左下角 ...

  7. Mac OS下编写对拍程序

    介绍 对拍是信息学竞赛中重要的技巧,它通过一个效率低下但正确率可以保证的程序,利用庞大的随机生成数据来验证我们的高级算法程序.对拍最大的优势在于可以通过人力所不能及的速度和数量达到验证的效果.下面我们 ...

  8. MAC OS下免费下载YouTube

    YouTube上有很多不错的视频,你感兴趣的视频除了可以加入自己播放列表之外,还可以将其下载到本地收藏起来.推荐这款软件“Xilisoft Download YouTube Video for Mac ...

  9. YII 框架在 MAC OS下 连接数据库失败 提示 DB connection: SQLSTATE[HY000] [2002]

    作者:zccst CDbConnection failed to open the DB connection: SQLSTATE[HY000] [2002] No such file or dire ...

随机推荐

  1. 基于Ajax的前后端分离

    这种开发模式可以称为SPA (Single Page Application 单页面应用)时代. 这种模式下,前后端的分工非常清晰,前后端的关键协作点是 Ajax 接口.看起来是如此美妙,但回过头来看 ...

  2. linux初学者-swap分区篇

    linux初学者-swap分区篇 swap是虚拟内存,是在硬盘中分区一块区域,当内存占满但是又急迫需要时临时当作内存使用,使用效率低于内存.本文将对linux系统中swap分区的建立做一个简要介绍. ...

  3. Python生成器和构造器

    什么是生成器? 参考link:http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/00 ...

  4. UTF—8与UTF—8(无bom)格式

    BOM——Byte Order Mark,就是字节序标记 在UCS 编码中有一个叫做"ZERO WIDTH NO-BREAK SPACE"的字符,它的编码是FEFF.而FFFE在U ...

  5. GStreamer基础教程06 - 获取媒体信息

    摘要 在常见的媒体文件中,通常包含一些数据(例如:歌手,专辑,编码类型等),用于描述媒体文件.通常称这些数据为元数据(Metadata:data that provides information a ...

  6. firewalld防火墙命令规则设置

    1.firewalld的基本使用 启动/关闭: systemctl start/stop firewalld 查看状态: systemctl status firewalld 开机启用/禁用 : sy ...

  7. poj 2524 Ubiquitous Religions(简单并查集)

    对与知道并查集的人来说这题太水了,裸的并查集,如果你要给别人讲述并查集可以使用这个题当做例题,代码中我使用了路径压缩,还是有一定优化作用的. #include <stdio.h> #inc ...

  8. Code blocks返回错误代码:Process returned -1073741819 (0xC0000005)

    循环语句访问链表时,返回了错误代码: 逐项排查后,发现是由while循环引起的: 附上出错代码: do{ L=L->post; printf("%05d %d %05d\n" ...

  9. JVM内存结构 VS Java内存模型 VS Java对象模型

    前面几篇文章中, 系统的学习了下JVM内存结构.Java内存模型.Java对象模型, 但是发现自己还是对这三者的概念和区别比较模糊, 傻傻分不清楚.所以就有了这篇文章, 本文主要是对这三个技术点再做一 ...

  10. ASP.NET Core Web API 跨域(CORS) Cookie问题

    身为一个Web API,处理来自跨域不同源的请求,是一件十分合理的事情. 先上已有的文章,快速复制粘贴,启用CORS: Microsoft:启用 ASP.NET Core 中的跨域请求 (CORS) ...