当前位置: 首页 > news >正文

网页爬虫

网页爬虫是一种程序,它可以模拟人类浏览器的行为,向目标网站发送请求,获取网页内容,再通过解析网页内容提取有用信息。这个过程就像我们在浏览器中打开一个网页,然后查看网页的内容一样。

为了实现这个过程,我们需要使用一些工具。其中一个常用的工具是 requests 模块。这个模块可以帮助我们发送 HTTP 请求,并且自动处理连接池、认证、Cookies 等方面的细节。我们可以使用这个模块发送 GET、POST、PUT、DELETE 等请求,并且可以自定义请求头、请求体等信息。

举个例子,如果我们想要从一个电商网站上爬取商品信息,我们可以使用 requests 模块向这个网站发送请求,获取网页内容。然后,我们可以使用一些技术(比如正则表达式或者解析库)来解析网页内容,提取出我们需要的商品信息(比如商品名称、价格、评价等等)。最后,我们可以将这些信息保存到本地文件或者数据库中,以便后续分析和使用。

总之,网页爬虫和 requests 模块是实现网页爬取的两个重要工具。它们可以帮助我们获取网页内容,并且提取有用信息。

对于在windows怎么部署怎么运行python尚不熟悉的站友请移步:这里

import requests
from bs4 import BeautifulSoup
# 检查URL是否合法
def check_url(url):try:response = requests.get(url)response.raise_for_status()return Trueexcept:return False
# 检查爬取类型是否合法
def check_type(html, type):soup = BeautifulSoup(html, 'html.parser')items = soup.select(type)return len(items) > 0
# 提示用户输入要爬取的网站和需要爬取的类型
while True:url = input('请输入要爬取的网站URL:')if check_url(url):breakelse:print('URL无效,请重新输入。')
while True:type = input('请输入需要爬取的类型:')response = requests.get(url)html = response.textif check_type(html, type):breakelse:print('爬取类型无效,请重新输入。')
# 发送请求,获取网页内容
response = requests.get(url)
html = response.text
# 解析网页内容,获取需要爬取的内容
soup = BeautifulSoup(html, 'html.parser')
items = soup.select(type)
# 将结果输出到文本文件
filename = 'result.txt'
with open(filename, 'w', encoding='utf-8') as f:for item in items:f.write(str(item) + '\n')
print(f'结果已保存到{filename}文件中。')

按上面代码测试输出。

img

能够自动检测URL和爬取的html类型是否正确,错误后会返回重新输入。爬取类型包括:div/li/a/link/meta/img/p/ul,等等,在当文件夹下生成文本文件result.txt,我们打开看一下。

img

简单的实现原理就是上面啦,然后就用pyinstaller封装生成exe文件就可。

http://www.sczhlp.com/news/393.html

相关文章:

  • 能够直接生成矢量图的AI工具
  • PS的AI插件--Alpaca
  • 【旧文】Adobe Express使用教程
  • 点云之间的距离和像素尺寸的大小之间是什么换算关系
  • HCIE学习之路:路由引入
  • HCIE学习之路:MSTP实现负载均衡实验
  • Linux系统安装配置Redis集群
  • TOP10迪士尼动画电影下载_公主系列迪士尼电影大全列表在线观看
  • python中pandas包的基本用法
  • 如何用两年时间面试一个人(by jobleap.cn)
  • 读后感
  • HCIE学习之路:一个NAT实验
  • HCIE学习之路:配置基于静态路由的GRE隧道
  • 2025年PLM合规性管理,6大策略,确保项目合法合规!
  • 国内最值钱 IT 公司排行
  • Fastmcp 案例二(SSE)
  • 编译安装 pg_stat_statements
  • Anaconda历史版本
  • 输入未知数目的数据
  • 常见的结构光编解码算法
  • 七月
  • 【UNR #3】配对树 题解
  • 基于Java+Springboot+Vue开发的美容院-美甲店预约管理系统源码+运行步骤
  • 基于YOLOv8的狗狗品种(多达60种常见犬类)品种鉴别识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
  • 公钥和私钥的部分作用
  • 从0开始构建技术
  • Solon 集成 LiteFlow:轻量级工作流引擎的极简实践指南
  • 街道【概念】
  • 解决 EXSI 意外断电后虚拟机无法启动,提示对象类型需要托管的 I/O - 清风
  • P3412 仓鼠找sugar II 题解