您的位置:首页 > 汽车 > 时评 > 深圳住建厅官方网站_网站建设一条龙_品牌营销包括哪些内容_推广策略

深圳住建厅官方网站_网站建设一条龙_品牌营销包括哪些内容_推广策略

2024/10/31 13:13:47 来源:https://blog.csdn.net/2301_79810514/article/details/142588379  浏览:    关键词:深圳住建厅官方网站_网站建设一条龙_品牌营销包括哪些内容_推广策略
深圳住建厅官方网站_网站建设一条龙_品牌营销包括哪些内容_推广策略

爬虫常用的库

爬虫(Web Scraping)是一种从网页上提取数据的技术。在 Python 中,有许多库可以帮助实现这一目标。以下是一些常用的爬虫库,以及对 BeautifulSoup 的详细介绍。
常用爬虫库

1.Requests

​ a.功能:用于发送 HTTP 请求,获取网页内容。
​ b.特点:简单易用,支持 GET 和 POST 请求,能够处理 cookies、会话等。

2.BeautifulSoup

​ a.功能:用于解析 HTML 和 XML 文档,提取数据。
​ b.特点:提供简单的 API 来导航、搜索和修改解析树,非常适合处理复杂的网页结构。

3.Scrapy

​ a.功能:一个强大的爬虫框架,适合构建大规模爬虫项目。
​ b.特点:支持异步请求,内置了数据存储和提取功能,适合需要高效爬取的场景。

4.Selenium

​ a.功能:用于自动化浏览器操作,可以抓取动态内容。
​ b.特点:可以模拟用户操作,适合处理 JavaScript 渲染的页面。

5.lxml

​ a.功能:用于解析和处理 XML 和 HTML 文档。
​ b.特点:速度快,支持 XPath 查询。

6.Pandas

​ a.功能:用于数据处理和分析。
​ b.特点:可以方便地将抓取到的数据进行清洗和分析。

BeautifulSoup 详细介绍

BeautifulSoup 是一个用于解析 HTML 和 XML 的 Python 库,提供了方便的工具来提取和处理网页数据。以下是对 BeautifulSoup 的一些关键点的介绍:
安装
使用 pip 安装 BeautifulSoup:

pip install beautifulsoup4 -i https://pypi.tuna.tsinghua.edu.cn/simple 

安装 requests

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple 

基本用法

  • 导入库:
   from bs4 import BeautifulSoupimport requests
  • 获取网页内容:
   url = 'https://example.com'response = requests.get(url)html_content = response.text
  • 创建 BeautifulSoup 对象:
   soup = BeautifulSoup(html_content, 'html.parser')

解析 HTML:

  • 查找标签:
title = soup.title
print(title.text)  # 打印网页标题
  • 查找特定标签:
 for heading in headings:print(heading.text)headings = soup.find_all('h1')  # 找到所有 h1 标签
  • 使用 CSS 选择器:
 links = soup.select('a[href]')  # 查找所有有 href 属性的链接for link in links:print(link['href'])

修改文档:

  • 添加、删除标签:
new_tag = soup.new_tag('p')
new_tag.string = '这是新添加的段落'
soup.body.append(new_tag)  # 将新标签添加到 body 中

BeautifulSoup优点

  • 易于使用:简单的 API 使得即使是初学者也能快速上手。
  • 灵活性:支持多种解析器(如 lxml 和 html.parser)。
  • 强大的搜索功能:通过标签名、属性和文本内容进行精确查找。

示例代码
以下是一个简单的示例,演示如何使用 BeautifulSoup 提取网页中的所有链接:

import requests
from bs4 import BeautifulSoup# 获取网页内容
url = 'https://example.com'
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')# 查找所有链接
for link in soup.find_all('a'):print(link.get('href'))

总结
BeautifulSoup 是一个功能强大的网页解析库,适合用于快速提取 HTML 数据。结合其他库(如 Requests 和 Scrapy),可以构建强大的爬虫应用。通过灵活使用其各种功能,用户可以高效地抓取和处理网页数据。

简单案例演示爬取元气手机壁纸

获取网页请求信息

  • 设置headers请求头过程如下图:

在这里插入图片描述

  • 查看请求响应的网页html代码
import  requests
# 定制请求头
headers = {'user-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'}
response = requests.get('https://mbizhi.cheetahfun.com/sj/j/', headers=headers)
print('text:')
print(response.text)
print("content:")
print(response.content)
  • 出现下面的结果表示请求成功

在这里插入图片描述

完整代码如下:

import requests
from bs4 import BeautifulSoup
import os
# 定制请求头
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36'
}# 发送请求获取网页内容
url = 'https://mbizhi.cheetahfun.com/sj/j/'
response = requests.get(url, headers=headers)# 检查响应状态码
if response.status_code == 200:# 使用 BeautifulSoup 解析网页内容soup = BeautifulSoup(response.text, 'html.parser')# 查找所有图片元素images = soup.find_all('img')# 创建保存图片的目录save_dir = 'downloaded_images'if not os.path.exists(save_dir):os.makedirs(save_dir)# 遍历图片元素,下载并保存图片for i, image in enumerate(images):img_url = image['src']# 确保URL是绝对路径if not img_url.startswith(('http:', 'https:')):img_url = url + img_url  # 将相对路径转换为绝对路径img_data = requests.get(img_url).content  # 下载图片内容# 构建保存路径file_path = os.path.join(save_dir, f'image_{i}.jpg')# 保存图片with open(file_path, 'wb') as file:file.write(img_data)print(f'Image {i} saved to {file_path}')
else:print('Failed to retrieve the webpage')

运行后:打开downloaded_images文件夹查看,获取的图片如下:

在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com