“零基础写Python爬虫”系列教程之一:爬虫的定义及URL构成
一、爬虫的定义
爬虫是一种自动化获取互联网信息的程序,它通过规定的爬取策略和规则自动从网页中抽取所需的信息并保存下来,相比人工获取信息,爬虫具有自动化、高效率、高准确性等优势。爬虫的主要应用场景包括但不限于数据采集、搜索引擎、信息监测等领域。
二、URL的构成
-
URL是一种用于定位万维网上资源的地址,包含着资源的位置和访问该资源所需的协议、主机名或IP地址等信息。
-
URL的基本结构由协议、主机名、端口号、路径、查询字符串和锚点组成。
-
协议:指定web客户机如何与服务器交互。常用的协议有 HTTP、HTTPS、FTP等。
- 主机名:指定web服务器的名称或IP地址。
- 端口号:用来区分同一台主机上不同服务的虚拟端口号,不同的服务有各自的默认端口号。
- 路径:指定服务器上资源的位置和名称。
- 查询字符串:用来传递信息给服务器,非必需部分。
- 锚点:用于定位页面中的特定位置,非必需部分。
三、示例
示例一:爬取豆瓣电影TOP250的电影名称与评分信息
- 确定目标页面的URL为:https://movie.douban.com/top250
- 分析页面结构,找到目标信息所在的HTML标签和属性。
- 使用Python的requests库发送GET请求获取页面HTML代码。
- 使用BeautifulSoup库解析HTML代码,筛选目标信息并保存。
下面是示例代码(仅供参考):
import requests
from bs4 import BeautifulSoup
url = "https://movie.douban.com/top250"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
for item in soup.find_all("div", class_="info"):
title = item.find("span", class_="title").get_text()
rating = item.find("span", class_="rating_num").get_text()
print(f"名称:{title},评分:{rating}")
示例二:爬取新浪财经的股票信息
- 确定目标页面的URL为:http://finance.sina.com.cn/stock/
- 同样要先分析页面结构,找到目标信息所在的HTML标签和属性。
- 使用Python的requests库发送GET请求获取页面HTML代码。
- 使用xpath解析HTML代码,筛选目标信息并保存。
下面是示例代码(仅供参考):
import requests
from lxml import etree
url = "http://finance.sina.com.cn/stock/"
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36"}
response = requests.get(url, headers=headers)
html = etree.HTML(response.content)
stocks = html.xpath('//div[@class="table"]//table//tr')
for stock in stocks:
name = stock.xpath('td[1]/a/text()')[0]
price = stock.xpath('td[3]/text()')[0]
change = stock.xpath('td[4]/text()')[0]
print(f"股票名称:{name},股价:{price},涨跌额:{change}")
以上示例仅供参考,实际情况需要根据目标网站的具体情况进行相应调整。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:零基础写python爬虫之爬虫的定义及URL构成 - Python技术站