用Python学爬虫最大的好处就是python有很多实用库,免去了我们自己造轮子的环节,那么找哪些轮子呢?Python爬虫有两个比较实用的库,Requests和Beautiful Soup。我认为学好这两个库,Python爬虫也就学的差不多了。
是什么?
Requests is the only Non-GMO HTTP library for Python, safe for human consumption.
Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.
Requests是Python上一类HTTP库,它可以向服务器发起请求,并获取响应,完成网页访问这一步。
Beautiful Soup可以让我们对获取的响应进行解析,相当于我打开浏览器找到目标内容。
正如我在当我们写爬虫的时候,我们实际在做什么?中写的,爬虫的核心无非是访问网页并提取内容,因此这两个库也是我用Python学习爬虫的核心。
怎么用?
下面就是使用两者所创建的一个非常的迷你的爬虫。你或许不会认同,但是他的确体现了爬虫的核心:获取请求网页,并提取信息。
# 导入所需库
import requests
from bs4 import BeautifulSoup
# 向服务器发起request,得到响应
url = 'http://www.jianshu.com/trending/now'
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}
response = requests.get(url, headers=headers)
# 查看响应状态
response.status_code
# 对响应使用lxml解析器进行解析
soup = BeautifulSoup(response.text, 'lxml')
# 使用内置的css选择器选择内容
soup.select('#list-container > ul.article-list.thumbnails > li > div > h4')
进阶
官方文档永远是最好的教程,你能从这里面找到更详细的内容。使用Scrapy这个强大的Python爬虫框架可以让你事半功倍,安利一下我写的。
网友评论