📅  最后修改于: 2023-12-03 14:50:43.036000             🧑  作者: Mango
爬虫(Spider)是指一种可以像蜘蛛一样在互联网上爬行的程序。它可以自动地从Web服务器中获取所需的数据,并将这些数据进行处理和分析。以下是爬虫常用的几个关键术语:
在HTTP协议中,每个请求都必须设置User-Agent头部,代表请求的客户端身份。爬虫程序也需要设置User-Agent来模拟客户端发起请求。但是,由于一些Web服务器对爬虫的限制,所以有时候需要设置User-Agent来伪装成浏览器发起请求。
代码示例:
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
response = requests.get(url, headers=headers)
Robots协议是一种网站使用的文件,用来告诉爬虫程序哪些页面可以被爬取。这个协议通常包含在网站的robots.txt文件中。爬虫在访问页面之前会先检查Robots协议,以验证是否有权限爬取页面。一些网站的Robots协议禁止爬虫程序访问全部或部分页面,所以在爬取相关网站时,需要注意是否需要遵守Robots协议。
XPath是一种用来定位XML和HTML文档中节点的语言,可以通过XPath表达式快速地定位需要的标签或内容。在爬虫程序中,XPath通常用来解析HTML页面,并且可以方便地提取所需的数据。XPath语言很强大,值得深入学习。
代码示例:
from lxml import etree
html = """
<div class="book">
<ul>
<li class="price">34.5</li>
<li class="author">James</li>
<li class="publisher">Penguin</li>
</ul>
</div>
"""
selector = etree.HTML(html)
price = selector.xpath('//div[@class="book"]/ul/li[@class="price"]/text()')[0]
print(price)
BeautifulSoup是一个Python库,用来解析HTML和XML文档,可以方便地提取所需的数据。它可以自动化地将页面中的所有标签和内容解析出来,并使用多种方式定位需要的内容。
代码示例:
from bs4 import BeautifulSoup
html = """
<div class="book">
<ul>
<li class="price">34.5</li>
<li class="author">James</li>
<li class="publisher">Penguin</li>
</ul>
</div>
"""
soup = BeautifulSoup(html, 'html.parser')
price = soup.select('div.book ul li.price')[0].get_text()
print(price)
以上介绍了一些爬虫常用的关键术语,希望能够帮助大家更好地理解爬虫技术。