口碑好的网站推广价格,科技股龙头,安徽网站建设详细教程,企业网站友好性分析爬取网页上所有链接 文章目录 爬取网页上所有链接前言一、基本内容二、代码编写1.引入库2.测试网页3.请求网页4.解析网页并保存 三、如何定义请求头#xff1f;总结 前言
最近也学了点爬虫的东西。今天就先给大家写一个简单的爬虫吧。循序渐进#xff0c;慢慢来哈哈哈哈哈哈…爬取网页上所有链接 文章目录 爬取网页上所有链接前言一、基本内容二、代码编写1.引入库2.测试网页3.请求网页4.解析网页并保存 三、如何定义请求头总结 前言
最近也学了点爬虫的东西。今天就先给大家写一个简单的爬虫吧。循序渐进慢慢来哈哈哈哈哈哈哈哈哈哈哈 一、基本内容
主要是以下几部分下文基本会按照这个步骤来写
导入需要的库要测试的网页生成代理请求网页请求成功解析网页找到并保存想要的东西请求失败返回相应状态码
二、代码编写
1.引入库 代码如下 import requests
from bs4 import BeautifulSouprequests 这是一个非常流行的 Python 库用于发送 HTTP 请求。它可以方便地让我们获取网页内容、下载文件、提交表单等网络操作。
BeautifulSoup 这是一个用于解析 HTML 和 XML 文档的 Python 库。它能够将复杂的HTML文档转换成树形结构使得我们可以轻松地搜索、遍历和修改文档中的元素。 2.测试网页
代码如下
# 目标网页地址
url http://www.santostang.com/3.请求网页
代码如下
# 定义请求头的浏览器代理伪装成浏览器
headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.5735.289 Safari/537.36,host: www.santostang.com}# 请求网页
response requests.get(url, headersheaders)
print(response.text)请求头header提供了关于请求、相应或其他发送实体的信息。总之一句话这个很重要不能少。
不清楚这个请求头怎么搞的不要担心下面我会另起一章节告诉大家怎么弄。
response.text 的内容如下图下面会从这个里面检索获取我们想要的信息 4.解析网页并保存
代码如下
# 状态码为200请求成功
if response.status_code 200:# 打印状态码print(Status Code: , response.status_code)# 解析 HTML 文档soup BeautifulSoup(response.text, html.parser)# 找到所有的 a, img 和 form 标签elements soup.find_all([a, img, form])# 打开一个文本文档并写入with open(url.text, w, encodingutf-8) as f:# 打印每个元素的 href、src 或 action 属性for element in elements:if element.name a:link element.get(href)elif element.name img:link element.get(src)elif element.name form:link element.get(action)if link is not None:# 每写入一个链接另起一行f.write(link \n)else:# 请求未成功返回相应的状态码print(fFailed to fetch the page with status code {response.status_code}) 第一步判断是否请求成功成功则进行下一步失败则返回相应的状态码。 第二步先解析解析 HTML 文档response.text。 第三步找到所有链接前面的标签都有啥。 第四步根据标签定位到相应的链接获取它们。 第五步判定标签后面的不为空写入这些链接。
下面是本人测试的效果图 三、如何定义请求头
很简单。首先随便打开一个网页。然后按一下F12接着按照下图上的步骤一步一步来就可以得到想要的东西。 总结
这样一个简单的爬虫小程序就搞定了。慢慢来吧后续教大家爬一些有用的东西(# ^ . ^ #)。