【爬虫】python爬虫爬取网站页面(基础讲解)

这篇具有很好参考价值的文章主要介绍了【爬虫】python爬虫爬取网站页面(基础讲解)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

【爬虫】python爬虫爬取网站页面(基础讲解),爬虫,python,开发语言


👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。


爬虫(框架)爬取网站页面



爬虫(框架)爬取网站页面

1. 导入必要的库

import requests
from bs4 import BeautifulSoup
  • requests库用于发送HTTP请求以获取网页内容。
  • BeautifulSoup库用于解析HTML内容并提取我们需要的信息。

2. 获取网页内容

我们首先要使用requests库获取页面的HTML内容。

url = 'https://example.com/articles'
response = requests.get(url)
html_content = response.content

3. 使用BeautifulSoup解析HTML

将获取到的HTML内容传递给BeautifulSoup,这样我们就可以用它来解析页面了。

soup = BeautifulSoup(html_content, 'html.parser')

4. 数据提取

这完全取决于你想从页面中提取哪些信息。假设我们要提取所有文章标题和链接:

articles = soup.find_all('div', class_='article')  # 假设每篇文章都包含在一个class为'article'的div标签内

for article in articles:
    title = article.find('h2').text
    link = article.find('a')['href']
    print(title, link)

5. 异常处理

在爬取网站时可能会遇到各种问题,如网络问题、页面不存在等。我们需要添加一些异常处理来确保爬虫的稳定性。

try:
    response = requests.get(url, timeout=10)
    response.raise_for_status()  # 如果响应状态不是200,则引发异常
except requests.RequestException as e:
    print(f"Error fetching the url: {url}. Reason: {e}")

6. 避免被封禁

当连续并频繁请求某个网站时,可能会被封禁。你可以使用以下策略避免这种情况:

  1. 设置User-Agent:伪装成真正的浏览器。
  2. 设置延迟:在连续的请求之间设置延迟,例如使用time.sleep(5)延迟5秒。
  3. 使用代理:使用不同的IP地址来发送请求。

完整代码示例:

import requests
from bs4 import BeautifulSoup
import time

url = 'https://example.com/articles'  # 换成你的网站

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'
}

try:
    response = requests.get(url, headers=headers, timeout=10)
    response.raise_for_status()
    soup = BeautifulSoup(response.content, 'html.parser')

    articles = soup.find_all('div', class_='article')

    for article in articles:
        title = article.find('h2').text
        link = article.find('a')['href']
        print(title, link)
        time.sleep(5)  # 每抓取一个页面后,暂停5秒

except requests.RequestException as e:
    print(f"Error fetching the url: {url}. Reason: {e}")

注意事项

注意:在运行爬虫之前,你应该:文章来源地址https://www.toymoban.com/news/detail-717603.html

  1. 检查目标网站的robots.txt文件,了解哪些页面允许爬取。
  2. 不要频繁地请求网站,这可能会被视为DDoS攻击。
  3. 确保你有权爬取和使用目标数据。
  4. 考虑网站的负载,不要对网站造成不必要的压力。
  5. 有时候,使用API是获取数据的更好方法,许多网站提供API来获取数据,而不是直接爬取。

到了这里,关于【爬虫】python爬虫爬取网站页面(基础讲解)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python爬虫入门:使用selenium库,webdriver库模拟浏览器爬虫,模拟用户爬虫,爬取网站内文章数据,循环爬取网站全部数据。

    *严正声明:本文仅限于技术讨论与分享,严禁用于非法途径。 目录 准备工具: 思路: 具体操作: 调用需要的库: 启动浏览器驱动: 代码主体:  完整代码(解析注释): Python环境; 安装selenium库; Python编辑器; 待爬取的网站; 安装好的浏览器; 与浏览器版本相对应的

    2023年04月24日
    浏览(57)
  • Python爬虫入门系列之Selenium实现动态页面爬取

    在前一篇博客中,我们学习了如何使用多线程优化爬虫程序。但是,如果要爬取的网页是动态生成的或者包含大量JavaScript代码,单纯的静态页面爬取就不足够了。为了解决这个问题,我们可以使用Selenium库来模拟真实的浏览器行为,从而实现动态页面的爬取。 Selenium是一个用

    2024年02月11日
    浏览(59)
  • Python爬虫:实现爬取、下载网站数据的几种方法

    使用脚本进行下载的需求很常见,可以是常规文件、web页面、Amazon S3和其他资源。Python 提供了很多模块从 web 下载文件。下面介绍 requests 模块是模仿网页请求的形式从一个URL下载文件 示例代码: 安装 wget 库 示例代码 有些 URL 会被重定向到另一个 URL,后者是真正的下载链接

    2024年02月05日
    浏览(73)
  • [Python练习]使用Python爬虫爬取豆瓣top250的电影的页面源码

    在终端中输入以下代码(直接在cmd命令提示符中,不需要打开Python) 从豆瓣网提供的镜像网站下载requests第三方库 是从国外网站下载,速度慢甚至有时候无法下载 运行代码之后,没反应,无输出结果 可以看一下返回的页面请求状态码是多少: 状态码是 418 ,所有4开头的状态

    2024年01月17日
    浏览(47)
  • Python爬虫基础之如何对爬取到的数据进行解析

    原文地址: https://www.program-park.top/2023/04/13/reptile_2/   在上一篇博客中,讲了如何使用 urllib 库爬取网页的数据,但是根据博客流程去操作的人应该能发现,我们爬取到的数据是整个网页返回的源码,到手的数据对我们来说是又乱又多的,让我们不能快速、准确的定位到所需

    2023年04月16日
    浏览(44)
  • Python网络爬虫爬取招聘数据(利用python简单零基础)可做可视化

    身为一个求职者,或者说是对于未来的职业规划还没明确目标的大学生来说,获取各大招聘网上的数据对我们自身的发展具有的帮助作用,本文章就简答零基础的来介绍一下如何爬取招聘数据。 我们以东莞的Python数据分析师这个职位来做一个简单的分析,页面如下图所示:

    2024年02月03日
    浏览(57)
  • 爬虫机试题-爬取新闻网站

    之前投简历时遇到了这样的一个笔试。本以为会是数据结构算法之类的没想到直接发了一个word直接提需求,感觉挺有意思就写了这篇文章,感兴趣的朋友可以看看。 通过分析页面结构我们得以知道,这个页面本身没有新闻信息,是由js代码执行后才将信息插入到html中的,因

    2024年04月25日
    浏览(36)
  • 用python语言爬虫爬取微博评论--上--初步爬虫(超详细版,大学生不骗大学生)

    目录 一、找到页面  二、学会使用检查元素 2.1 打开检查元素界面 2.2 找到所有评论所在的位置 2.2.1 搜索评论 2.2.2  找到data表 三、基础部分代码实现 ​​​​​​​ 全部已经更完(下面两个链接是中和下) https://blog.csdn.net/m0_68325382/article/details/137234661?spm=1001.2014.3001.5502 爬

    2024年04月10日
    浏览(56)
  • 【Python爬虫开发实战①】使用urllib以及XPath爬取可爱小猫图片

    个人主页 :为梦而生~ 关注我一起学习吧! 专栏 :python网络爬虫从基础到实战 欢迎订阅!后面的内容会越来越有意思~ 往期推荐 : 【Python爬虫开发基础⑦】urllib库的基本使用 【Python爬虫开发基础⑧】XPath库及其基本用法 我们在之前已经有8篇文章讲述基础知识了,下面我们

    2024年02月11日
    浏览(73)
  • 【爬虫】3.4 爬取网站复杂数据

    进一步把前面的Web网站的mysql.html, python.html, java.html丰富其中 的内容,并加上图形: mysql.html java.html python.html 服务器 server.py 程序还是前面3.2的,如下:         爬取网站中的mysql, python, java的简介与图像。我们看到简介在网页的第一个div中,图像在img中,而且只有这3个网

    2024年02月08日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包