网络爬虫的基础知识

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) # 打印提取的文本内容(未处理空值或异常情况)

相关推荐
VIP_CQCRE1 小时前
内容自动化越跑越乱?先补上状态、去重和失败恢复
python·ai·工作流·幂等设计·内容自动化
我喜欢就喜欢1 小时前
RAG 重排序 Rerank 实战:用 bge-reranker 把 Top-K 命中率拉回来
python·大模型·向量检索·rag·rerank
专注仿真1 小时前
卷积神经网络(CNN)算法详解
人工智能·python·算法·代码·大模型训练
isfox1 小时前
Python3 协程:异步编程的核心机制与实战
python
用户298698530141 小时前
Python 将 Markdown 批量转为 HTML:单文件与目录遍历两种实现
python·html·markdown
miofly1 小时前
GitHub 今日推荐|auto-ontology:给 Agent 装上企业数据的语义索引
python·开源·github
青少儿编程课堂2 小时前
蓝桥杯青少组图形化 + 全国青少年信息素养大赛 + 电子学会Scratch考级:校园成语接龙大挑战解析
c++·python·算法·bfs·信息学竞赛
用户0332126663672 小时前
使用 Python 扁平化 PDF 文档 【附代码示例】
python
Java后端的Ai之路2 小时前
Java并发编程07-等待通知机制优化循环等待
java·数据库·python