由于最近正在放暑假,所以就自己开始学习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. spark 源码分析之十九 -- Stage的提交

    引言 上篇 spark 源码分析之十九 -- DAG的生成和Stage的划分 中,主要介绍了下图中的前两个阶段DAG的构建和Stage的划分. 本篇文章主要剖析,Stage是如何提交的. rdd的依赖 ...

  2. vue.js带复选框表单的增删改查

    近段时间由于公司项目要求,前端开始使用VUE框架进行开发,最近刚开始学习,做了一个表单的增删改查,和大家分享一下. 页面模型代码设计如下 <template> <div id=&qu ...

  3. thinkphp phpexcel导出返回乱码

    今天做了一个excel文件导出的功能  可是无论怎么改网上怎么搜答案什么缓冲啊charset=UTF-8'a都不起效 <?phpnamespace app\admin\controller;us ...

  4. Java中内部类的骚操作

      10.1 如何定义内部类 如代码10.1-1 所示 public class Parcel1 { public class Contents{ private int value = 0;​ pu ...

  5. iOS 注释

    1) 参数的注释: UIButton *btnSend;/**< 发送按钮 */ 效果: 2) 方法的注释: type1(无参数): /** table 相关设置 */ -(void)confi ...

  6. BeanFactory体系结构

    BeanFactory是Spring中非常重要的一个类,搞懂了它,你就知道了bean的初始化和摧毁过程,对于深入理解IOC有很大的帮助. BeanFactory体系结构 首先看一下使用IDEA生成的继 ...

  7. Java性能调优的11个实用技巧

    译文出处: ITeye    原文出处:dzone 大多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识.是的,这并不没有错.诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这 ...

  8. RocketMQ中Broker的刷盘源码分析

    上一篇博客的最后简单提了下CommitLog的刷盘  [RocketMQ中Broker的消息存储源码分析] (这篇博客和上一篇有很大的联系) Broker的CommitLog刷盘会启动一个线程,不停地 ...

  9. C# Winform 自定义控件——竖着的Navbar

    效果: 描述: 这是一个可折叠的菜单导航,主要是由panel.picturebox.label完成,界面的颜色用来区分一下各个组合控件,便于调试. 首先,首先是ImageButton: 这个是由Pic ...

  10. 算法与数据结构基础 - 二叉查找树(Binary Search Tree)

    二叉查找树基础 二叉查找树(BST)满足这样的性质,或是一颗空树:或左子树节点值小于根节点值.右子树节点值大于根节点值,左右子树也分别满足这个性质. 利用这个性质,可以迭代(iterative)或递归 ...