python能够这么流行,一个重要的原因是第三方库非常的多,提供的功能非常的丰富,减少了开发时间,github
等有非常多python的第三方库,很多第三库不仅提供了很多实用的功能,同时也是学习python的好材料。
这一章介绍两个常用的第三库,requests
和bs4
,这两个库在做爬虫是最经常会用到的,requests
为抓取网络数据,bs4
为对抓取的html结构进行解析。
第三方库的安装
python为我们提供了安装第三方库的工具,如easy_install
,pip
等,在windows下,存放在目录C:\Python27\Scripts
,需要使用这些工具进行安装的时候,需要把这个目录路径放在系统路径下,否则会出现找不到命令,easy_install
,pip
的原理是通过参数去下载相应的库,并把它安装到相应的目录下,在windows,一边存放在C:\Python27\Lib\site-packages
。
安装requests
和bs4
pip install requests
pip install bs4
安装完以后,查看是否安装成功,只要把库加载进来看是否成功。
>>> import requests
>>> import bs4
>>>
如果出现:
ImportError: No module named requests
说明没有安装成功,看看安装过程中出现了什么样的问题,进行修复。
库的使用
在网络处理中requests
和bs4
是最重要的两个库,requests
库是对python中网络标准模块的封装,主要是用来获取网页的数据,抓取完数据以后还要对数据进行处理,取出我们自己需要的属性和数据,bs4
就是用来解析html的好工具,这两个库都非常的重要,里面的东西非常的多,以后会专门的进行介绍,这里主要是简单的介绍如何方便的使用它们。
利用requests
抓取百度网站,并使用bs4
解析网站的title。
#!/usr/bin/python
#coding=utf-8
"""
start python 项目
"""
__author__ = 'yyp'
import requests
from bs4 import BeautifulSoup
headers = {}
headers['Accept-Encoding'] = 'gzip, deflate'
headers['Accept-Language'] = 'zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3'
headers['Accept'] = 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
headers['User-Agent'] = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:56.0) Gecko/20100101 Firefox/56.0'
s = requests.Session()
url = 'http://www.baidu.com/'
request = s.get(url, headers = headers,timeout=120, verify=False)
if request.status_code == 200:
body = request.text
soup = BeautifulSoup(body)
print soup.title
为了更好的模拟浏览器访问网站,在程序进行访问网站时,加入了头信息,User-Agent
,Accept
,Accept-Encoding
等头信息。获取到网站的数据以后,通过BeautifulSoup
进行html数据的处理,这里我们只是简单的得出网站的title信息。
总结
在python中有非常的第三方库,大部分的库都非常的成熟,使用的人也非常的多,安装到自己的环境中也非常的方便,而且这些库基本都是开源的,非常适合初学者,多去阅读别人的源代码是编程初学者进步必经之路。