1. 程式人生 > >beautifulsoup的簡單用法

beautifulsoup的簡單用法

 

取得html檔

在python可以很輕易的用urllib來達成

webfile = urllib.urlopen(url)

讀取內容可以用

webcontext = wefbfile.read()
or
webcontext = webfile.read().decode("UTF-8")

如果不指定decode方式則以系統預設方式decode

交由BeautifulSoup處理

soup = BeautifulSoup.BeautifulStoneSoup(webcontext)

此時soup為html(<html></html>節點)或xml的root node
在html可以用soup = soup.body移至<head>節點上
使用soup = soup.nextSibling可以將point移至<body>上
可以利用這些數狀結構的操作在tree裡面移動

以CSS樣式來存取node

以上方式當檔案在結構上有些問題的時候就會出問題
所以可以利用findAll的方式直接去存取想要的node

htmldata = soup.findAll("p", {"class" : "right"})

尋找所有<p class="right"></p>的node並return一個list給htmldata變數

以屬性方式存取node

htmltitle = soup.findAll(id = "title")

尋找所有<XX id = "title"></XX>的node(XX為任意名稱)

取得node裡的內容

取得屬性

想取得像href這類超連結時可用(以下為soup指到<a>node情況下)

url = soup['href']

取得內容

如果是<node>string</node>的情況下可以使用

context = soup.string

如果要取得所有內容的話,可使用

plist = soup.contents

把所有內容都存入plist內

基本上使用上面這些技巧就能應付一般需求了

中文文件:

相關推薦

爬蟲入門,爬蟲簡單的入門庫Beautifulsoup庫,解析網頁,簡單用法-案例篇(5)

           BeautifulSoup 庫是一個非常流行的Python的模組。通過BeautifulSoup 庫可以輕鬆的解析請求庫請求的網頁,並把網頁原始碼解析為湯文件,以便過濾提取資料

beautifulsoup簡單用法

  取得html檔 在python可以很輕易的用urllib來達成 webfile = urllib.urlopen(url) 讀取內容可以用 webcontext = wefbfile.read() or webcontext = webfile.read().deco

python BeautifulSoup簡單用法

from bs4 import BeautifulSoup import re html = """ <html><head><title>The Dormouse's story</title></head> <body> <p

python爬蟲--BeautifulSoup簡單用法

#coding=utf-8   import urllib import urllib2 import cookielib from bs4 import BeautifulSoup import re   url ="http://www.baidu.com"   try:     request = ur

Python:第三方模組BeautifulSoup的安裝及簡單用法

BeautifulSoup簡介 BeautifulSoup是python的一個第三方庫,在爬蟲中,起著網頁解析器的作用,可以對下載好的網頁進行頁面元素分析,提取出有價值的資料,相比較Lxml,BeautifulSoup的效能會差一些,畢竟是純python,但是Beauti

python argpare 模塊的簡單用法

python1、實例:#!/usr/bin/python #coding:utf-8 import argparse parser = argparse.ArgumentParser() parser.add_argument(‘-s‘,‘--string‘,dest=‘string‘,nargs=1

mysqldumpslow簡單用法

data 正則匹配 查詢 語句 itl 數據 lac undefine mysql mysqldumpslow命令/path/mysqldumpslow -s c -t 10 /database/MySQL/slow-log這會輸出記錄次數最多的10條SQL語句,其中:

走入計算機的第十一天(shell的一些簡單用法

調用 gen 眼睛 加載 賦值 mem end 表示 簡單用法 一 BASH的屬性 BASH中會存儲一些自身屬性的參數,啟用或關閉某一項功能 例如控制* .字符是否為通配 查看參數 set -o 關閉noglob參數 set -o noglob ls * ls: *:

github超簡單用法

點贊 是你 cat 簡單用法 git push com 方便 改變 bug 參考: http://stormzhang.com/github/2016/05/25/learn-github-from-zero1/ 1. 為啥要用github 做一個項目會產生

popcorn-js視頻Video框架簡單用法

次數 update auto 框架 document web function lis 監聽 <div> <video class="video" id="ourvideobig" preload="auto" contr

python lambda表達式簡單用法

result 簡單的 函數 一個表 if else alex 內嵌 語句 代碼塊 條件運算時,對於簡單的 if else 語句,可以使用三元運算來表示,即: # 普通條件語句 if 1 == 1: name = ‘wupeiqi‘ else: name =

Freemarker簡單用法

pri eem finished 初始 proc puts ade mar min Freemarker 最簡單的例子程序 freemarker-2.3.18.tar.gz http://cdnetworks-kr-1.dl.sourceforge.net/projec

Linux中awk命令的簡單用法

.cn inux total com mage 簡單 image 用法 int 一、用例1:   cat /proc/meminfo|grep "MemTotal"|awk ‘{print $2}‘   說明,$2表示第2位,$0表示全部,如需表示$,可用$$轉義。

sort,uniq,wc指令簡單用法

linux sort uniq wc sort用於排序,可以根據不同的數據類型來進行排序,例如想要查看最後一個登陸的用戶信息,可以把last和sort結合起來使用,按照登陸時間排序。使用sort排序:sort常用參數:-f :忽略大小寫的差異-b:忽略最前面的空格符部分-M:以月份的名字排序-

ios初識UITableView及簡單用法

label all ret clas interface tlab spa pre implement // // ViewController.m // ZQRTableViewTest // // Created by zzqqrr on 17/8/24. /

ios初識UITableView及簡單用法二(模型數據)

ati ins int class test tab 所有 super viewdata // // ViewController.m // ZQRTableViewTest // // Created by zzqqrr on 17/8/24. // Copy

xtrabackup的簡單用法及其原理

read mysql數據庫 copy 時間 文件目錄 sql數據庫 con fig password xtrabackup 全備:   innobackupex --defaults-file=$mysql_config --user=$user --passwor

mysqldump的簡單用法及其原理

tar 實現 業務 sna 觀察 utf ppa ner mys mysqldump 生產備份:   搭建主從: mysqldump -A -B -R --master-data=2 >backup.sql   備份單庫(包含建庫語句): my

Java 正則簡單用法

leg 常用 gin 反斜杠 private htm code regexp val 正則表達式是一種可以用於模式匹配和替換的規範,一個正則表達式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)組成的文字模式,它 用以描述在查找文字主體時待匹配的一個或多個字符串。正

C++中priority_queue的簡單用法

soj isf htm lov sni osc coj dpt kml 6rwglt柯繳滔拐僖瓢http://shufang.docin.com/dhbp31536hted8m舜棺蠢訪棵料http://huiyi.docin.com/mqnqv574629sniu6澳刀飯疤