网络爬虫的基础知识

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

相关推荐
PXM的算法星球3 小时前
【软件工程】面向对象编程(OOP)概念详解
java·python·软件工程
Humbunklung3 小时前
PySide6 GUI 学习笔记——常用类及控件使用方法(常用类矩阵QRectF)
笔记·python·学习·pyqt
蹦蹦跳跳真可爱5893 小时前
Python----深度学习(基于DNN的吃鸡预测)
python·深度学习·dnn
JJ1M84 小时前
Git技巧:Git Hook,自动触发,含实战分享
git·python·自动化
拓端研究室TRL4 小时前
PyMC+AI提示词贝叶斯项目反应IRT理论Rasch分析篮球比赛官方数据:球员能力与位置层级结构研究
大数据·人工智能·python·算法·机器学习
小白用python5 小时前
pycharm无法创建venv虚拟环境
ide·python·pycharm
ImAlex5 小时前
开开心心放假回家,结果忘记老家wifi密码新买的手机连不上WiFi?不用慌,pywifi来拯救你。
python
fantasy_46 小时前
LeetCode238☞除自身以外数组的乘积
java·数据结构·python·算法·leetcode
Tech Synapse6 小时前
零基础搭建AI作曲工具:基于Magenta/TensorFlow的交互式音乐生成系统
人工智能·python·tensorflow
纪元A梦6 小时前
华为OD机试真题——阿里巴巴找黄金宝箱Ⅰ(2025A卷:100分)Java/python/JavaScript/C/C++/GO最佳实现
java·c语言·javascript·c++·python·华为od·go