关于Python简单的爬虫操作(Requests和etree)
前言
在互联网时代的今天,获取信息已经变得非常容易,网页中的信息成为了获取有用信息的新途径。爬虫是获取网页信息的最佳工具,而Python作为一门强大的编程语言,能够通过requests和etree两个库来轻松地实现爬虫操作。
本篇文章将详细讲解使用Python实现简单的爬虫操作,包括如何发送请求、如何获取响应、如何解析HTML页面等内容。
requests库
requests是Python中用于发送HTTP请求的库,通过requests库可以方便地发送GET、POST等请求。
发送GET请求
以下是使用requests库发送GET请求的代码:
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(response.text)
解释一下上述代码:
- 首先引入requests库。
- 定义请求的URL。
- 发送GET请求并返回响应对象。
- 获取响应内容并打印。
发送POST请求
以下是使用requests库发送POST请求的代码:
import requests
url = 'http://httpbin.org/post'
data = {
'key1': 'value1',
'key2': 'value2'
}
response = requests.post(url, data=data)
print(response.text)
解释一下上述代码:
- 首先引入requests库。
- 定义请求的URL。
- 构造POST请求的数据。
- 发送POST请求并返回响应对象。
- 获取响应内容并打印。
etree库
etree是Python中用于解析HTML的库,通过etree库可以轻松地从HTML文档中提取所需信息。
以下是解析HTML文档的代码:
import requests
from lxml import etree
url = 'http://www.zhihu.com'
response = requests.get(url)
html = etree.HTML(response.text)
links = html.xpath('//a/@href')
for link in links:
print(link)
解释一下上述代码:
- 首先引入requests库和etree库。
- 发送HTTP请求并获取响应。
- 使用etree.HTML方法将响应文本转为HTML文档。
- 利用xpath语法从HTML文档中提取链接信息。
- 遍历所有链接并逐个打印。
示例说明
以下是一个简单的示例,演示如何通过爬虫获取网页中的图片信息:
import requests
from lxml import etree
url = 'https://www.baidu.com'
response = requests.get(url)
html = etree.HTML(response.text)
imgs = html.xpath('//img/@src')
for img in imgs:
print(img)
解释一下上述代码:
- 首先引入requests库和etree库。
- 发送HTTP请求并获取响应。
- 使用etree.HTML方法将响应文本转为HTML文档。
- 利用xpath语法从HTML文档中提取图片链接信息。
- 遍历所有图片链接并逐个打印。
以下是另一个示例,演示如何通过爬虫获取网页上的文章:
import requests
from lxml import etree
url = 'https://www.zhihu.com/question/364945793'
response = requests.get(url)
html = etree.HTML(response.text)
titles = html.xpath('//div[@class="QuestionRichText"]/span/p/text()')
for title in titles:
print(title)
解释一下上述代码:
- 首先引入requests库和etree库。
- 发送HTTP请求并获取响应。
- 使用etree.HTML方法将响应文本转为HTML文档。
- 利用xpath语法从HTML文档中提取文章内容。
- 遍历所有文章内容并逐个打印。
总结
以上就是使用Python实现简单的爬虫操作的完整攻略。借助requests库和etree库,我们可以轻松地发送HTTP请求、获取响应、解析HTML文档获取信息。当然这只是一个简单的示例,爬虫操作还远远不止这些,但这是一个很好的开始。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:关于python简单的爬虫操作(requests和etree) - Python技术站