import urllib import urllib.request as request import re from bs4 import * #url = 'http://zh.house.qq.com/' url = 'http://www.0756fang.com/' html = request.urlopen(url).read().decode('utf-8') soup = BeautifulSoup(html,"html.parser") print(soup.head.meta['content'])#輸出所得標籤的‘’屬性值 print(soup.span.string);print(soup.span.text)#兩個效果同樣,返回標籤的text #name屬性是‘’的標籤的<ResultSet>類,是一個由<Tag>組成的list print(soup.find_all(attrs={'name':'keywords'})) print(soup.find_all(class_='site_name'))#class屬性是‘’的<Tag>的list,即<ResultSet> print(soup.find_all(class_='site_name')[0])#這是一個<Tag> print(soup.find(attrs={'name':'keywords'}))#name屬性是‘’的標籤的<Tag>類 print(soup.find('meta',attrs={'name':'keywords'}))#name屬性是‘’的meta標籤的<Tag>類 print(soup.find('meta',attrs={'name':'keywords'})['content'])#<Tag類>可直接查屬性值 #配合re模塊使用,能夠忽略大小寫 #以下面例子,能夠找到name屬性爲keywords,KEYWORDS,KeyWORds等的meta標籤 print(soup.find('meta',attrs={'name':re.compile('keywords',re.IGNORECASE)})) '''-------------------------------------------------------------------------''' '''----------------------------修改BeautifulSoup—----------------------------''' '''-------------------------------------------------------------------------''' soup.find(attrs={'name':'keywords'}).extract#調用這個方法,能夠刪除這一個標籤 soup.title.name='ppp'#能夠把Tag的名字<title>改爲<ppp> #可使用append(),insert(),insert_after()或者insert_before()等方法來對新標籤進行插入。 Tag1 = a.new_tag('li',class_='123')'''創造一個Tag''' a.title.append(Tag1)#把Tag1添加爲name是title的Tag的最後一個【子節點】,沒有換行 #.insert(0,Tag1)----這裏用insert的話,第一個參數能夠控制所添加【子節點】的前後位置 #.insert_after(Tag1)---和insert_before同樣,添加爲Title的【兄弟節點】 soup.head.meta['content']='隨便輸入,能夠添加(或更改)這個Tag的content屬性(值)' del soup.head.meta['content']#這個語法能夠直接刪除這個Tag的content屬性 soup.li.clear#調用方法會清除全部li標籤的text soup.title.string='用這個方法能夠修改title標籤的內容'#慎用,只用於最子孫最小的節點,用於父節點會清空子節點 soup.div.append('放在div子節點位置的 最後append最後,是標籤內容') soup.div.insert(0,'放在div子節點位置的 最前insert【0】最前,是標籤內容'')
這是我之前的BS4筆記,交流請聯繫 QQ 328123440html