Python爬蟲常用模塊,BeautifulSoup筆記


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 328123440


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM