當前位置: 妍妍網 > 碼農

Python提取任何網站標題和內容

2024-03-03碼農

Python,學霸

  • 閱讀指南

  • 簡介

  • 安裝方法

  • 例項

  • 簡介

    大家好!今天給你們帶來了使用requests提取網頁標題以及內容的簡單例項,結果以json格式輸出。

    安裝方法

    pip install requests bs4

    例項


    import requests
    from bs4 import BeautifulSoup
    import json
    class WebPageScraper:
    def __init__(self, url):
    self.url = url
    self.headers = {
    'User-Agent''Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
    }
    def fetch_content(self):
    response = requests.get(self.url, headers=self.headers)
    if response.status_code == 200:
    return response.text
    else:
    return None
    def parse_content(self, html):
    if html:
    soup = BeautifulSoup(html, 'html.parser')
    title = soup.find('title').get_text() if soup.find('title'else"No Title Found"
    body_content = soup.find('body')
    content = ' '.join(body_content.stripped_strings) if body_content else"No Content Found"
    result = {
    'title': title,
    'content': content
    }
    return json.dumps(result, ensure_ascii=False)
    else:
    return json.dumps({'error''Failed to retrieve content'}, ensure_ascii=False)
    def get_page_info(self):
    html_content = self.fetch_content()
    return self.parse_content(html_content)
    #提取
    url = "https://www.runoob.com/python/python-tutorial.html"
    scraper = WebPageScraper(url)
    print(scraper.get_page_info())





    輸出

    {"title""Python 基礎教程 | 菜鳥教程""content""菜鳥教程 -- 學的不僅是技術,更是夢想! 首頁 HTML CSS JavaScript Vue Bootstrap NodeJS Python3 Python2 Java C C++ C# Go SQL Linux jQuery 本地書簽 首頁 HTML CSS JS 本地書簽 Search Python3 教 程 Python2 教程 Vue3 教程 vue2 教程 Bootstrap3 教程 Bootstrap4 教程 Bootstrap5 教程 Bootstrap2 教程 Python 基礎教程 Python 基礎教程 Python 簡介 Python 環境搭建 Python 中文編碼 Python 基礎語法 Python 變量型別 Python 運算子 Python 條件語句 Python 迴圈語句 Python While 迴圈語句 Python for 迴圈語句 Python 迴圈巢狀 Python break 語句 Python continue 語句 Python pass 語句 Python Number(數位) Python 字串 Python 列表(List) Python 元組 Python 字典(Dictionary) Python 日期和時間 Python 函式 Python 模組 Python 檔I/O Python File 方法 Python 例外處理 Python OS 檔/目錄方法 Python 內建函式 Python 高級教程 Python 物件導向 Python 正規表式 Python CGI 編程 Python MySQL Python 網路編程 Python SMTP Python 多執行緒 Python XML 解析 Python GUI 編程(Tkinter) Python2.x 與 3.x 版本區別 Python IDE Python JSON Python AI 繪畫 Python 100例 Python 測驗 Python 簡介 Python 基礎教程 Python 是一種解釋型、物件導向、動態數據型別的高級程式設計語言。Python 由 Guido van Rossum 於 1989 年底發明,第一個公開發行版發行於 1991 年。 像 Perl 語言一樣, Python 原始碼同樣遵循 GPL(GNU General Public License) 協定。 官方宣布,2020 年 1 月 1 日, 停止 Python 2 的更新。Python 2.7 被確定為最後一個 Python 2.x 版本。 誰適合閱讀 本教程? 本教程適合想從零開始學習 Python 程式語言的開發人員。當然本教程也會對一些模組進行深入,讓你更好的了解 Python 的 套用。 本教程主要針對 Python 2.x 版本的學習,如果你使用的是 Python 3.x 版本請移步至 Python 3.X 版本的教程 。 本教程所有 例項基於 Python2.7。 學習本教程前你需要了解 在繼續本教程之前,你應該了解一些基本的電腦編程術語。如果你學習過 PHP,ASP 等程式語言,將有助於你更快的了解 Python 編程。 執行Python程式 對於大多數程式語言,第一個入門編程程式碼便是 \"Hello World!\",以下程式碼為使用 Python 輸出 \"Hello World!\": 例項 #!/usr/bin/python print ( \" Hello, World! \" ) 執行例項 » Python 3.0+ 版本已經把 print 作為一個內建函式,輸出 \"Hello World!\" 程式碼如下: 例項(Python 3.0+) #!/usr/bin/python3 print ( \" Hello, World! \" ) 執行例項 » \b相關文章 Python2.7.14 中文手冊 Python IDE(整合式開發環境)介紹 Python 編碼規範(Google) Python 3.X版本的教程 Python 簡介 1 篇筆記 寫筆記 #0 dragonv lib***[email protected] 參考地址 6785 關於指令碼第一行的 #!/usr/bin/python 的解釋,相信很多不熟悉 Linux 系統的同學需要普及這個知識,手稿語言的第一行,只對 Linux/Unix 使用者適用,用來指定本指令碼用什麽直譯器來執行。 有這句的,加上執行許可權後,可以直接用 ./ 執行,不然會出錯,因為找不到 python 直譯器。 #!/usr/bin/python 是告訴作業系統執行這個指令碼的時候,呼叫 /usr/bin 下的 python 直譯器。 #!/usr/bin/env python 這種用法是為了防止 作業系統使用者沒有將 python 裝在預設的 /usr/bin 路徑裏。當系統看到這一行的時候,首先會到 env 設定裏尋找 python 的安裝路徑 ,再呼叫對應路徑下的直譯器程式完成操作。 #!/usr/bin/python 相當於寫死了 python 路徑。 #!/usr/bin/env python 會去環境設定尋找 python 目錄,可以增強程式碼的可移植性,推薦這種寫法。 分成兩種情況: (1)如果呼叫 python 指令碼時,使用: python script.py #!/usr/bin/python 被忽略,等同於註釋 (2)如果呼叫python指令碼時,使用: ./script.py #!/usr/bin/python 指定直譯器的路徑 PS:shell 指令碼中在第一行也有類似的聲明。dragonv dragonv lib***[email protected] 參考地址 5年前 (2019-01-02) 點我分享筆記 取消 分享筆記 昵稱 昵稱 (必填) 信箱 信箱 (必填) 參照地址 參照地址 分類導航 HTML / CSS HTML 教程 HTML5 教程 CSS 教程 CSS3 教程 Bootstrap3 教程 Bootstrap4 教程 Bootstrap5 教程 Font Awesome 教程 Foundation 教程 JavaScript JavaScript 教程 HTML DOM 教程 jQuery 教程 AngularJS 教程 AngularJS2 教程 Vue.js 教程 Vue3 教程 React 教程 TypeScript 教程 jQuery UI 教程 jQuery EasyUI 教程 Node.js 教程 AJAX 教程 JSON 教程 Echarts 教程 Chart.js 教程 Highcharts 教程 Google 地圖 教程 伺服端 Python 教程 Python2.x 教程 Linux 教程 Docker 教程 Ruby 教程 Java 教程 C 教程 C++ 教程 Perl 教程 Servlet 教程 JSP 教程 Lua 教 程 Rust 教程 Scala 教程 Go 教程 PHP 教程 數據結構與演算法 Django 教程 FastAPI 教程 Zookeeper 教程 設計模式 正規表式 Maven 教程 Verilog 教程 ASP 教程 AppML 教程 VBScript 教程 資料庫 SQL 教程 MySQL 教程 PostgreSQL 教程 SQLite 教程 MongoDB 教 程 Redis 教程 Memcached 教程 數據分析 Python 教程 NumPy 教程 Pandas 教程 Matplotlib 教程 Scipy 教程 R 教程 Julia 教程 移動端 Android 教程 Swift 教程 jQuery Mobile 教程 ionic 教程 Kotlin 教程 XML 教程 XML 教程 DTD 教程 XML DOM 教程 XSLT 教程 XPath 教程 XQuery 教程 XLink 教程 XPointer 教程 XML Schema 教程 XSL-FO 教程 SVG 教程 ASP.NET ASP.NET 教程 C# 教程 Web Pages 教程 Razor 教程 MVC 教程 Web Forms 教程 Web Service Web Service 教程 WSDL 教程 SOAP 教程 RSS 教程 RDF 教程 開發工具 Eclipse 教程 Git 教程 Svn 教程 Markdown 教程 網站建設 HTTP 教程 網站建設指南 瀏覽器資訊 網站主機教程 TCP/IP 教程 W3C 教程 網站品質 Advertisement 反饋/建議 線上例項 · HTML 例項 · CSS 例項 · JavaScript 例項 · Ajax 例項 · jQuery 例項 · XML 例項 · Java 例項 字元集&工具 · HTML 字元集設定 · HTML ASCII 字元集 · JS 混淆/加密 · PNG/JPEG 圖片壓縮 · HTML 拾色器 · JSON 格式化工具 · 隨機數生成器 最新更新 · Rust 宏 · Seaborn 教程 · Pandas 相關性分析 · 31.2k star, 免... · Dev Home —... · 免費開源的 AI ... · 11.2k star, 免... 站點資訊 · 意見反饋 · 免責聲明 · 關於我們 · 文章歸檔 關 註微信 Copyright © 2013-2024 菜鳥教程 runoob.com All Rights Reserved. 備案號: 閩ICP備15012807號-1 微信關註"}