Python3 常用爬虫库的安装 |
您所在的位置:网站首页 › python网络爬虫的第三方库有哪些 › Python3 常用爬虫库的安装 |
Python3 常用爬虫库的安装
1 简介 Windows下安装Python3常用的爬虫库:requests、selenium、beautifulsoup4、pyquery、pymysql、pymongo、redis、flask、django、jupyter和scrapy框架。 进入控制台,用pip3 list命令查看系统已经安装了哪些第三方包: DEPRECATION: The default format will switch to columns in the future. You can use --format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning. pip (9.0.1) setuptools (28.8.0) You are using pip version 9.0.1, however version 9.0.3 is available. You should consider upgrading via the 'python -m pip install --upgrade pip' command.结果显示已经安装了pip (9.0.1)和setuptools (28.8.0),并提示pip可以升级到9.0.3版本,这个可以不用管。 Tips:若安装了多个Python版本,各自安装的第三方包是独立的。本机安装了Python2.7和Python3.6两个版本,命令行进入python修改为python2和python3,对应的pip命令修改为pip2和pip3,本机的第三方库全安装Python3.6版本下。 2 requests库的安装 这是Python用于网页请求的库,不是内置库,需要手动安装,可以用pip命令直接安装: C:\Users\Strive>pip3 install requests等待安装,没有意外,最后会提示requests库以及相关依赖库安装成功: Successfully installed certifi-2018.1.18 chardet-3.0.4 idna-2.6 requests-2.18.4 urllib3-1.22测试一下requests库,命令行进入python,并获取百度首页: C:\Users\Strive>python3 Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import requests >>> requests.get('http://www.baidu.com')返回响应码200,说明requests库安装正常。 3 selenium库的安装 当请求用JS渲染的页面时,requests库是无法正常获取到页面结果的,这个时候就需要用到selenium库,该库可以驱动浏览器来获得JS渲染后的页面,可以用pip命令直接安装: C:\Users\Strive>pip3 install selenium等待安装,没有意外,最后会提示selenium库(没有依赖库)安装成功的信息: Successfully installed selenium-3.11.0测试一下selenium库,命令行进入python,驱动Chrome进入百度首页: C:\Users\Strive>python3 Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from selenium import webdriver >>> driver = webdriver.Chrome() Traceback (most recent call last): File "D:\Python\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", line 76, in start stdin=PIPE) File "D:\Python\Python36-32\lib\subprocess.py", line 707, in __init__ restore_signals, start_new_session) File "D:\Python\Python36-32\lib\subprocess.py", line 992, in _execute_child startupinfo) FileNotFoundError: [WinError 2] 系统找不到指定的文件。 During handling of the above exception, another exception occurred: Traceback (most recent call last): File "", line 1, in File "D:\Python\Python36-32\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 68, in __init__ self.service.start() File "D:\Python\Python36-32\lib\site-packages\selenium\webdriver\common\service.py", line 83, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home结果显示chromedriver没有配置到环境变量中,并给出了chromedriver的下载地址:https://sites.google.com/a/chromium.org/chromedriver/home 因为本机没有FQ,这个地址打不开,上百度搜索镜像,并下载对应的Chrome浏览器驱动:http://npm.taobao.org/mirrors/chromedriver/ 下载最新的版本2.9,解压到当前文件夹,并将chromedriver.exe文件复制到D:\Python\Python36-32\Scripts目录,该目录已经配置到了环境变量中。然后用上述命令继续测试: C:\Users\Strive>python3 Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from selenium import webdriver >>> driver = webdriver.Chrome() DevTools listening on ws://127.0.0.1:12734/devtools/browser/7496d615-f493-4f91-ab7e-4a2ac81012b9这时会弹出一个空白的Chrome窗口。继续获取百度首页面: >>> driver.get('http://www.baidu.com')结果报错: raise exception_class(message, screen, stacktrace) selenium.common.exceptions.WebDriverException: Message: unknown error: Runtime.executionContextCreated has invalid 'context': {"auxData":{"frameId":"E43AB8BE7AF397B6CDDD47425C8396BF","isDefault":true},"id":1,"name":"","origin":"://"} (Session info: chrome=65.0.3325.146) (Driver info: chromedriver=2.9.248315,platform=Windows NT 6.3 x86_64)chromedriver版本与Chrome版本不匹配,chromedriver版本太高,重新下一个版本替换掉上一个chromedriver.exe,在notes.txt中可以查看chromedriver对应的Chrome版本,本机Chrome版本为版本 65.0.3325.146(正式版本) (64 位),下载chromedriver2.37版本,继续测试: >>>driver.get('http://www.baidu.com')界面可以正常显示百度首页。接下来获取网页源码: >>>driver.page_sourceTips:若下载的chromedriver版本不支持你的Chrome还会继续报错,请下载符合你Chrome的chromedriver。 4 phantomjs浏览器的安装 phantomjs是一个无界面的浏览器,在使用爬虫模拟浏览器操作的时候不会出现浏览器界面,操作非常方便。phantomjs的下载地址:http://phantomjs.org/download.html 直接下载最新版本即可。将解压后的phantomjs-2.1.1-windows目录剪切到D:\Python\Python36-32目录下,并将D:\Python\Python36-32\phantomjs-2.1.1-windows\bin目录配置到用户环境变量中去。命令行进入phantomjs命令: C:\Users\Strive>phantomjs phantomjs>这个交互模式就可以执行js程序。接下来命令行进入python,用phantomjs请求百度首页,并获取网页源代码: C:\Users\Strive>python3 Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> from selenium import webdriver >>> driver = webdriver.PhantomJS() D:\Python\Python36-32\lib\site-packages\selenium\webdriver\phantomjs\webdriver.py:49: UserWarning: Selenium support for PhantomJS has been deprecated, please use headless versions of Chrome or Firefox instead warnings.warn('Selenium support for PhantomJS has been deprecated, please use headless ' >>> driver.get('http://www.baidu.com') >>> driver.page_source能够成功获取百度首页代码,这个过程中并没有出现浏览器窗口,结果提示Selenium已经废弃了对PhantomJS的支持,请使用Chrome的headless模式。 5 lxml库的安装 lxml提供xpath的解析方式,可以对网页进行高效的解析。可以使用pip命令直接安装: C:\Users\Strive>pip3 install lxml等待安装,不出意外,会出现安装成功提示: Successfully installed lxml-4.2.1结果提示成功安装lxml-4.2.1版本。如果使用pip命令安装网速较慢,可以直接到:https://pypi.python.org/pypi/lxml 下载对应的lxml的.whl文件,然后用pip命令进行本地安装: C:\Users\Strive>pip3 install file_path/file_nameTips:需要下载和Python版本对应的lxml版本并且已经安装了whl库。 6 beautifulsoup库的安装 beautifulsoup同样是一个高效的网页解析库,并且其依赖于lxml库, 在安装beautifulsoup库前先安装好lxml库。可以直接使用pip命令直接安装: C:\Users\Strive>pip3 install beautifulsoup4beautifulsoup4表示beautifulsoup的第四个版本。等待安装,会出现安装成功提示: Successfully installed beautifulsoup4-4.6.07 pyquery库的安装 pyquery库同样是一个网页解析库,可以使用pip命令直接安装: C:\Users\Strive>pip3 install pyquery等待安装,会出现安装成功提示: Successfully installed cssselect-1.0.3 pyquery-1.4.08 pymysql库的安装 pymysql是操作mysql数据库的第三方库,可以用pip命令直接安装: C:\Users\Strive>pip3 install pymysql等待安装,会出现安装成功提示: Successfully installed pymysql-0.8.09 pymongo库安装 pymongo是操作Mongodb数据库的第三方库,可以用pip命令直接安装: C:\Users\Strive>pip3 install pymongo等待安装,会出现安装成功提示: Successfully installed pymongo-3.6.110 redis库的安装 redis是一个非关系型数据库,以键值对的形式存储数据,在分布式爬虫中用于为维护一个公共爬取队列。可以用pip命令直接安装redis库: C:\Users\Strive>pip3 install redis等待安装,会出现安装成功提示: Successfully installed redis-2.10.611 flask库的安装 flask是一个web库,爬虫中用于代理的一些设置,设置web服务器,来设置代理的获取或者存储。flask的官网:http://flask.pocoo.org/docs/0.12/ 可以用pip命令直接安装: C:\Users\Strive>pip3 install flask等待安装,该库有很多的依赖库需要安装,会出现安装成功提示: Successfully installed Werkzeug-0.14.1 click-6.7 flask-0.12.2 itsdangerous-0.2412 django库的安装 django是一个web服务器框架,提供完整的后台管理,接口和路由等。django的官网:https://docs.djangoproject.com/en/2.0/ 用pip命令直接安装: C:\Users\Strive>pip3 install django等待安装,出现安装成功提示: Successfully installed django-2.0.3 pytz-2018.313 jupyter库的安装 jupyter是一个运行在网页端的notebook,支持代码编译和markdown语法,用pip命令直接安装: C:\Users\Strive>pip3 install jupyter等待安装,出现安装成功提示: Successfully installed jupyter-1.0.0 jupyter-console-5.2.0 qtconsole-4.3.1然后命令行输入: C:\Users\Strive>jupyter notebook或者: C:\Users\Strive>ipython notebook都可以启动jupyter。
14 scrapy框架安装 14.1 安装环境 计算机系统64位,Python版本3.6.2 32位。 14.2 wheel库安装用于安装.whl后缀文件,直接使用pip命令进行安装: C:\Users\Strive>pip3 install wheel 14.3 lxml库安装参考第5章lxml库的安装。 14.4 pyOpenSSL库安装在地址:https://pypi.python.org/pypi/pyOpenSSL#downloads 下载pyOpenSSL-17.5.0-py2.py3-none-any.whl (md5, pgp)文件到本地,然后使用pip命令进行安装: C:\Users\Strive>pip3 install path/pyOpenSSL-17.5.0-py2.py3-none-any.whlTips:需要完整的文件路径以及带上文件后缀名.whl 14.5 Twisted库安装在地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted 下载Twisted‑17.9.0‑cp36‑cp36m‑win32.whl文件到本地,然后使用pip命令进行安装: C:\Users\Strive>pip3 install path/Twisted‑17.9.0‑cp36‑cp36m‑win32.whlTips: cp36代表Python版本为3.6,win32代表Python为32位,并不是系统版本是32位,如果Python版本为64为可以下载win_amd64的版本。 14.6 pywin32库安装在地址:https://sourceforge.net/projects/pywin32/files/pywin32/Build 220/ 下载pywin32-220.win32-py3.6.exe文件到本地,win32代表的是Python版本为32位,若Python版本为64位,可以下载win-amd64的版本。然后执行下载好的exe文件,该文件会自动识别Python的版本以及安装路径,这里下载的Python3.6 32位的版本,会自动识别出来,但是安装程序会报一个如下错误: Python version 3.6 required, which was not found in the registry提示在系统注册表中找不到3.6版本的Python,但实际上Python是已经安装好并能正常使用。这时需要在注册表将Python3.6的安装路径注册一下,win+r打开运行输入regedit代开注册表,找到HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore下面有一个名为3.6-32注册项目文件。若本机下载的是win-amd64版本的exe文件,是能通过这个注册项目文件识别出Python的安装路径的,但是安装完成后是不匹配的,无法正常使用。因为我们的Python版本是32位的。所以我们需要在3.6-32的同级目录下新建一个3.6注册项目文件,然后将3.6-32项目下的HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.6-32\InstallPath和HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.6-32\PythonPath注册项目复制到3.6注册项目文件中(我是手动一个一个新建的。。。),然后再运行pywin32-220.win32-py3.6.exe文件,就能正常识别Python3.6的安装路径了。然后进行正常安装就行。安装完成进入Python验证一下: C:\Users\Strive>python3 Python 3.6.2 (v3.6.2:5fd33b5, Jul 8 2017, 04:14:34) [MSC v.1900 32 bit (Intel)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import win32com >>>不报错,说明安装成功了。 14.7 scrapy库安装在上述依赖库都安装成功后,使用pip命令直接安装scrapy库: C:\Users\Strive>pip3 install scrapy等待安装完成即可,然后输入scrapy出现如下提示: C:\Users\Strive>scrapy Scrapy 1.5.0 - no active project Usage: scrapy [options] [args] Available commands: bench Run quick benchmark test fetch Fetch a URL using the Scrapy downloader genspider Generate new spider using pre-defined templates runspider Run a self-contained spider (without creating a project) settings Get settings values shell Interactive scraping console startproject Create new project version Print Scrapy version view Open URL in browser, as seen by Scrapy [ more ] More commands available when run from project directory Use "scrapy -h" to see more info about a command说明scrapy安装成功,可以正常使用。 15 Mongodb的安装和配置 15.1 Mongodb下载 下载地址:https://www.mongodb.com/download-center?jmp=nav#community 安装地址:D:\Python\MongoDB 15.2 Mongodb的启动 安装完Mongodb后,将D:\Python\MongoDB\Server\3.6\bin目录配置到系统环境变量中,就可以直接在控制台中直接使用bin目录下的可执行命令。但是此时在控制台中输入mongo命令,控制台提示连接Mongo失败,原因是安装完成后,没有配置数据存放位置。 15.3 Mongodb的配置 Mongodb的目录需求:Mongodb需要一个data\db目录来存放数据,一个logs目录来存放日志,一个etc目录来存放配置文件,这三个目录可以配置在任何地方,此时将logs目录配置为data的子目录,将data目录和etc目录配置在bin目录的同级目录下,也就是D:\Python\MongoDB\Server\3.6中。 Mongodb所需目录创建: data目录: D:\Python\MongoDB\Server\3.6\data\db logs目录: D:\Python\MongoDB\Server\3.6\data\logs\mongo.log etc目录: D:\Python\MongoDB\Server\3.6\etc\mongo.config 使用mongod命令配置数据库: mongod --dbpath D:\Python\MongoDB\Server\3.6\data\db在控制台输入上述命令后按下回车,控制台显示: I NETWORK [initandlisten] waiting for connections on port 27017说明Mongodb启动成功,可以用本地浏览器访问: localhost:27017结果显示: It looks like you are trying to access MongoDB over HTTP on the native driver port.本机测试上述输入未能成功显示,log显示,但命令行可正常访问数据库,该问题有待解决: I NETWORK [conn1] Error receiving request from client: SSLHandshakeFailed: SSLHandshakeFailed.该命终端窗口不要关闭,令起一个终端,在命令行输入命令: mongo终端显示: MongoDB shell version v3.6.3 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.6.3 >成功访问数据库,就此Mongodb初步配置完成。 使用mongod命令配置数据库为系统服务: mongod --bind_ip 0.0.0.0 --dbpath D:\Python\MongoDB\Server\3.6\data\db --logpath D:\Python\MongoDB\Server\3.6\data\logs\mongo.log --logappend --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install 以管理员身份打开终端,输入上述命令,回车,然后在系统服务中查看是否有名为MongoDB的服务,可设置为自动启动,那么每次开机就可以直接使用Mongodb数据库了。 使用etc\mongo.config配置数据库为系统服务: mongod --config D:\Python\MongoDB\Server\3.6\etc\mongo.config --serviceName="MongoDB" --serviceDisplayName "MongoDB" --install以管理员身份打开终端,在终端中输入上述命令,同样可以将Mongodb启动配置为系统服务。其中配置文件mongo.config内容为: dbpath=D:\Python\MongoDB\Server\3.6\data\db logpath=D:\Python\MongoDB\Server\3.6\data\logs\mongo.log port=27017 logappend=true bind_ip=0.0.0.0 15.4 Mongodb的可视化软件Robomongo Robomongo下载地址:https://robomongo.org/download Robomongo安装地址:D:\Python\Robo 3T 1.2.116 AppiumPythonClient库的安装 使用Python的AppiumPythonClient库来操作Appium,此库继承Selenium,使用方法和Selenium有很多相似之处。 下载地址:https://github.com/appium/python-client 安装方法:直接使用pip命令进行安装 C:\Users\Strive>pip3 install Appium-Python-Client Collecting Appium-Python-Client Downloading https://files.pythonhosted.org/packages/65/f4/b31229c97ecd03015f2e2abd79ee998f0b91977062d559270abda9f1f3fe/Appium-Python-Client-0.28.tar.gz Requirement already satisfied: selenium>=2.47.0 in d:\python\python36-32\lib\site-packages (from Appium-Python-Client) (3.11.0) Building wheels for collected packages: Appium-Python-Client Running setup.py bdist_wheel for Appium-Python-Client ... done Stored in directory: C:\Users\Strive\AppData\Local\pip\Cache\wheels\6c\66\5a\fdb958254e1879c10ae6b9c310672c147dd626de286b8a4900 Successfully built Appium-Python-Client Installing collected packages: Appium-Python-Client Successfully installed Appium-Python-Client-0.28 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |