天天看点

Python爬虫基础-两个实用库是什么?怎么用?进阶

用Python学爬虫最大的好处就是python有很多实用库,免去了我们自己造轮子的环节,那么找哪些轮子呢?Python爬虫有两个比较实用的库, Requests Beautiful Soup 。我认为学好这两个库,Python爬虫也就学的差不多了。

是什么?

Requests is the only Non-GMO HTTP library for Python, safe for human consumption.
是一个可以从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爬虫框架可以让你事半功倍,安利一下我写的。