网络爬虫的基础知识

1.什么是网络爬虫

网络爬虫的英文名字是web crawler,是用于抓取网络信息的程序的简称,如果把互联网比作一张大网,把蜘蛛网的节点比做一个网页,那么爬虫就是在网页上爬行的一只蜘蛛,每爬到一个节点就能访问该网页的信息,所以又被称为网络蜘蛛(web spider)。

2.为什么网络爬虫可以抓取数据?

因为在日常访问的网页都是通过解析源代码的方式呈现出网页画面的,网络爬虫可以获取浏览器解析之前的源代码。在浏览器中按F12可以进入过滤器查看网页源代码,爬取资源前可查看网站的爬虫协议,如B站可在网址后加/robots.txt。

3.URL:URL(Uniform Resource Locator)是网页的链接,即统一资源定位符,指定了我们要查找资源的地址,规律为http+:+//+域名+/由这种格式构成,有时会用https提高安全性。

4.域名:在URL中间,由点分隔的字符组成的互联网标识被称为域名。

如:www.baidu.com,其中.com或.cn这种又被叫做顶级域名,baidu是二级域名,www为三级域名。

5.web服务器:用于提供网页信息给浏览器的服务器,这台服务器就被称为web服务器

6.HTTP协议:又被称为超文本传输协议,是互联网数据传输的一种规则,它规定了数据的传输方式。HTTP协议在进行数据传输时数据是未加密的,传输内容可能会被窃听,因此现在多使用HTTPS超文本传输安全协议。

7.消息请求和响应:1、当我们想要浏览网页时,浏览器会先发送HTTP请求,告诉web服务器需要的数据。2、web服务器收到请求后,按照请求执行,并返回HTTP响应消息。3、浏览器收到返回的数据后,会将源代码解析成网页展示出来。

8.状态码:状态码由3位数字组成,主要用于告知客户端的HTTP请求的执行结果。

如状态码200代表执行成功,状态码404表示无法找到请求的资源,状态码503表示服务器繁忙或者正在维护。

9.HTML:超文本标记语言,用于编辑网页的语言,记事本后缀改成.html可以自己创建html文件。

10.爬虫基础python代码

import requests # 导入requests库,用于发送HTTP请求

from bs4 import BeautifulSoup # 导入BeautifulSoup库,用于解析HTML/XML网页内容

url = "https://www.baidu.com/" # 定义目标网页的URL地址

response = requests.get(url) #发送GET请求获取网页内容(未设请求头可能触发反爬机制)

html = response.text # 将响应内容转换为字符串格式的HTML网页源码

soup = BeautifulSoup(html, "lxml") # 使用BeautifulSoup解析HTML

content_all = soup.find_all(name="em") # 查找所有<em>标签

for content in content_all: # 遍历所有找到的<em>标签元素

contentString = content.string # 提取标签的文本内容,含子元素用get_text()更安全

print(contentString) # 打印提取的文本内容(未处理空值或异常情况)

相关推荐
默_笙2 天前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
qq_426003962 天前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫2 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技2 天前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读2 天前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
只睡四小时2 天前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
奇思妙想聪明勤奋的小羊2 天前
DeepAgents第5章:子Agent 与上下文隔离—让 Agent学会委派
人工智能·python·学习·语言模型
lpfasd1232 天前
2026年第38周GitHub趋势周报
python·科技·github
IZero072 天前
Jev 与 Laya
python·语言模型