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澳刀飯疤