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

广州建设公司网站在线设计免费logo

广州建设公司网站,在线设计免费logo,深圳哪里做网站,网站建设介绍会发言稿?? 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长。 ?? …

?? 欢迎来到我的博客! 非常高兴能在这里与您相遇。在这里,您不仅能获得有趣的技术分享,还能感受到轻松愉快的氛围。无论您是编程新手,还是资深开发者,都能在这里找到属于您的知识宝藏,学习和成长。

?? 博客内容包括:

  • Java核心技术与微服务:涵盖Java基础、JVM、并发编程、Redis、Kafka、Spring等,帮助您全面掌握企业级开发技术。
  • 大数据技术:涵盖Hadoop(HDFS)、Hive、Spark、Flink、Kafka、Redis、ECharts、Zookeeper等相关技术。
  • 开发工具:分享常用开发工具(IDEA、Git、Mac、Alfred、Typora等)的使用技巧,提升开发效率。
  • 数据库与优化:总结MySQL及其他常用数据库技术,解决实际工作中的数据库问题。
  • Python与大数据:专注于Python编程语言的深度学习,数据分析工具(如Pandas、NumPy)和大数据处理技术,帮助您掌握数据分析、数据挖掘、机器学习等技术。
  • 数据结构与算法:总结数据结构与算法的核心知识,提升编程思维,帮助您应对大厂面试挑战。

?? 我的目标:持续学习与总结,分享技术心得与解决方案,和您一起探索技术的无限可能!在这里,我希望能与您共同进步,互相激励,成为更好的自己。

?? 欢迎订阅本专栏,与我一起在这个知识的海洋中不断学习、分享和成长!???


??版权声明:本博客所有内容均为原创,遵循CC 4.0 BY-SA协议,转载请注明出处。

目录

一、爬虫的基本概念

1. 爬虫的定义

2. 爬虫的主要工作流程

3. 常用 Python 工具

二、环境准备

1. 安装 Python

2. 安装必要库

三、写第一个简单的爬虫

1. 完整代码示例

2. 代码逐步解析

1)发送 HTTP 请求

2)检查请求状态

3)解析 HTML 数据

4)提取网页内容

5)打印结果

四、改进爬虫功能

1. 添加请求头

2. 控制爬取频率

3. 保存数据

五、应对复杂网页

1. 动态加载网页

2. 爬取图片或文件

六、爬虫的注意事项

1. 遵守法律和道德

2. 处理异常

3. 避免过于频繁的请求


网页爬虫是一种通过程序自动抓取网页数据的技术。对于初学者来说,使用 Python 写一个简单的爬虫是一个很好的入门项目。Python 提供了许多强大的工具和库,如 requestsBeautifulSoup,可以帮助快速实现网页数据的爬取。

在本文中,我们将从爬虫的基本概念开始,逐步实现一个可以抓取网页内容的简单爬虫,并探讨如何改进爬虫以应对复杂场景。我们将从以下几个方面展开:


一、爬虫的基本概念
1. 爬虫的定义

爬虫(Web Crawler)是一种自动化脚本或程序,它会模拟用户访问网页的行为,从而提取网页中的特定内容。

2. 爬虫的主要工作流程

一个典型的爬虫任务通常包括以下步骤:

  • 发送请求:通过 HTTP 协议访问目标网页,获取其 HTML 内容。

  • 解析数据:对获取到的 HTML 进行解析,提取我们需要的数据。

  • 存储数据:将提取到的数据保存到文件或数据库中,便于后续处理。

3. 常用 Python 工具
  • **requests**:发送 HTTP 请求,获取网页内容。

  • **BeautifulSoup**:解析 HTML 或 XML 数据,提取特定内容。

  • **re**(正则表达式):对复杂文本模式进行匹配和提取。

  • **pandas**:对数据进行清洗和分析。


二、环境准备
1. 安装 Python

确保你的计算机上已经安装了 Python(推荐使用 3.7 及以上版本)。如果尚未安装,可以从 Python 官方网站 下载并安装。

2. 安装必要库

打开命令行或终端,运行以下命令安装我们需要的 Python 库:

pip install requests beautifulsoup4
  • **requests**:用于发送 HTTP 请求。

  • **beautifulsoup4**:用于解析 HTML 数据。


三、写第一个简单的爬虫

我们来实现一个简单的爬虫,它将抓取某个网页的标题和正文内容。

1. 完整代码示例

以下代码实现了一个基本的爬虫:

import requests
from bs4 import BeautifulSoupdef simple_crawler(url):try:# 1. 发送请求response = requests.get(url)response.raise_for_status()  # 检查请求是否成功# 2. 解析网页内容soup = BeautifulSoup(response.text, 'html.parser')# 3. 提取标题和段落内容title = soup.find('title').text  # 获取网页标题paragraphs = soup.find_all('p')  # 获取所有段落内容print(f"网页标题: {title}
")print("网页内容:")for p in paragraphs:print(p.text)except requests.exceptions.RequestException as e:print(f"请求失败: {e}")# 示例网址
url = "https://example.com"  # 替换为你想爬取的网页地址
simple_crawler(url)
2. 代码逐步解析
1)发送 HTTP 请求
response = requests.get(url)
  • 使用 requests.get() 方法向目标网址发送 GET 请求。

  • 返回的 response 对象包含网页的所有内容,包括 HTML 源代码。

2)检查请求状态
response.raise_for_status()
  • 通过 raise_for_status() 检查请求是否成功。如果返回的 HTTP 状态码表示错误(如 404 或 500),会抛出异常。
3)解析 HTML 数据
soup = BeautifulSoup(response.text, 'html.parser')
  • BeautifulSoup 用于解析 HTML 内容,并将其转化为 Python 对象,方便后续操作。

  • 第二个参数 'html.parser' 指定使用 Python 内置的 HTML 解析器。

4)提取网页内容
title = soup.find('title').text
paragraphs = soup.find_all('p')
  • find('title') 方法返回 <title> 标签的内容。

  • find_all('p') 方法返回所有段落标签 <p>,并以列表形式存储。

5)打印结果
for p in paragraphs:print(p.text)
  • 遍历提取到的段落内容,并打印每个段落的文本。

四、改进爬虫功能
1. 添加请求头

一些网站会检测爬虫程序并阻止访问。可以通过添加请求头来模拟浏览器访问。

headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36"
}
response = requests.get(url, headers=headers)
2. 控制爬取频率

为了避免对目标网站造成过高的负载,可以在每次请求后添加延时。

import timedef delay_request(url):response = requests.get(url)time.sleep(2)  # 等待 2 秒return response
3. 保存数据

将爬取的数据保存为文件或数据库。

保存到文件:

with open("output.txt", "w", encoding="utf-8") as f:f.write(f"标题: {title}
")for p in paragraphs:f.write(p.text + "
")

保存到 CSV 文件:

import csvwith open("output.csv", "w", newline="", encoding="utf-8") as csvfile:writer = csv.writer(csvfile)writer.writerow(["段落内容"])for p in paragraphs:writer.writerow([p.text])

五、应对复杂网页
1. 动态加载网页

对于 JavaScript 渲染的网页,requests 无法获取完整内容,可以使用 seleniumplaywright

示例(使用 selenium):

from selenium import webdriverurl = "https://example.com"# 配置 WebDriver
driver = webdriver.Chrome()
driver.get(url)# 获取动态加载的内容
html = driver.page_source
print(html)# 关闭浏览器
driver.quit()
2. 爬取图片或文件
import os# 下载图片
img_url = "https://example.com/image.jpg"
response = requests.get(img_url)# 保存图片
with open("image.jpg", "wb") as f:f.write(response.content)

六、爬虫的注意事项
1. 遵守法律和道德
  • 避免违反法律:确保爬取行为符合目标网站的使用条款。

  • 尊重 robots.txt 文件:通过 robots.txt 查看目标网站的爬取限制。

2. 处理异常

对于网络请求失败、数据缺失等情况,添加异常处理逻辑:

try:response = requests.get(url)response.raise_for_status()
except requests.exceptions.RequestException as e:print(f"请求失败: {e}")
3. 避免过于频繁的请求

可以设置延时或使用代理 IP:

proxies = {"http": "http://123.45.67.89:8080","https": "http://123.45.67.89:8080"
}
response = requests.get(url, proxies=proxies)

文章转载自:

http://0Xuuczpf.xpzkr.cn
http://tSEa4GbT.xpzkr.cn
http://ZcECaLkD.xpzkr.cn
http://5ZB4Tmv9.xpzkr.cn
http://z8beb9L9.xpzkr.cn
http://72vB4MWx.xpzkr.cn
http://zzGrRBH5.xpzkr.cn
http://4R81IEOp.xpzkr.cn
http://ycWzMPbA.xpzkr.cn
http://BzLFPkin.xpzkr.cn
http://cJ5usrRz.xpzkr.cn
http://kJdoMj9h.xpzkr.cn
http://9r2Ypjpo.xpzkr.cn
http://rYrbYL7C.xpzkr.cn
http://4RdzxtLW.xpzkr.cn
http://Z0VivD6g.xpzkr.cn
http://KrKTYM6q.xpzkr.cn
http://xVlkitKr.xpzkr.cn
http://rEjmhksL.xpzkr.cn
http://9J44CxEa.xpzkr.cn
http://cDGUYLlN.xpzkr.cn
http://3b7mUWq3.xpzkr.cn
http://FUD21rKy.xpzkr.cn
http://sGjuCSnG.xpzkr.cn
http://a0bHk2QM.xpzkr.cn
http://JMVPqOVw.xpzkr.cn
http://z2LtF1Sz.xpzkr.cn
http://31G4LlrL.xpzkr.cn
http://aDyM2kYS.xpzkr.cn
http://5Nvfxx0O.xpzkr.cn
http://www.dtcms.com/wzjs/633133.html

相关文章:

  • 网页设计与网站建设 石油大学做网站服务器内存
  • 石家庄网站建设设计网站收款接口
  • 本地电脑做视频网站 外网连接不上小米网站建设书
  • 江苏网站建设包括哪些展会网站建设 服务器选择很重要
  • 做网站赔钱了网站开发细节
  • 西安模板建网站网站建设三把火科技
  • 网站开发产品需求说明怎么做网站在里面填字
  • 彩票网站建设服务wordpress o2o
  • 做网站和网页网站后台登陆模板
  • 国内专业做网站电脑更新wordpress
  • 衡水网站建设地方我是做推广的怎么找客户
  • 个人网站的名称科技公司内蒙古网站制作
  • 加强酒店网站建设的建议简述网站建设和推广评价指标
  • 网站域名注册服务商网站首页源码
  • 17网做网站网站 备案号 放置
  • php网站开发报告最新企业所得税优惠政策2023年
  • 没有公司做网站王也头像图片帅气动漫
  • 临沂房产和房建设局网站双和下载手机app下载
  • 企业网站网络营销网站速度查询
  • 浙江华企做的网站效果如何媒介盒子网站是哪家公司做的
  • 深圳品牌网站设计公司价格怎么挖掘网站的关键词
  • 找销售的网站溧阳网页设计
  • 网站的基础服务平台公司组建方案
  • 论坛开源网站源码网站能不能用自己的电脑做服务器
  • 郑州网站推广外包北京公司网站制作方法
  • 做冻品海鲜比较大的网站有哪些公司网站设计收费
  • 做装修哪个网站推广好平台搭建阳光房
  • 网站开发 分类编码赣州专业做网站
  • 电商网站适合做响应式布局吗网站 建设 语言
  • 有没有傻瓜式建设网站成都广告设计公司电话