python爬蟲學習(十)bs4解析資料

2021-10-01 19:17:26 字數 1553 閱讀 9234

lxml安裝是個坑

# -*- coding: utf-8 -*-

import lxml

import requests

from bs4 import beautifulsoup

if __name__ == '__main__':

# # ua偽裝:將對應的user-agent封裝到字典中

# headers =

# url = ""

# # 對指定url發起請求,對應的url是攜帶引數的,並且請求過程中處理了引數

# response = requests.get(url=url, headers=headers)

# # 接受返回資料

# page_text = response.text

# #從網頁提取物件

# #soup = beautifulsoup(page_text, 'lxml')

# # 儲存

# with open('./text.html', 'w', encoding='utf-8') as fp:

# fp.write(page_text)

# print("html儲存成功")

#將本地html文件中的資料載入到該物件中

fp = open('./text.html','r',encoding='utf-8')

soup = beautifulsoup(fp,'lxml')

#print(soup)

# soup.tagname返回的文件中第一次出現的tagname的標籤

#print(soup.a)

#find('tagname')等同於soud.a

#print(soup.find('li'))

# 第二種用法,屬性定位

#屬性名稱加下劃線 class_

#print(soup.find('div',class_="warp"))

#find_all 找到符合要求的所有標籤 (列表) 也可以進行屬性定位

#print(soup.find_all('li'))

#select('某種選擇器 (id/class/標籤/。。。)'),返回的是乙個列表

#print(soup.select('.warp'))

#多層選擇

# >表示乙個層級 空格表示多個層級

#print(soup.select('.w1200 ul'))

print(soup.select('.w1200 > ul img')[0]) #第個標籤

#獲取標籤中的文字資料

# soup.a.text/string/get_text()

#text和get_text可以獲取該標籤下所有內容

#string只能獲取該標籤下直系的文字內容

#print(soup.select('.w1200 > ul a')[0].get_text())

#獲取標籤中的屬性值 soup.a['屬性名稱']

print(soup.select('.w1200 > ul img')[0]['src'])

爬蟲架構 bs4

方便解析html xml等格式的原始碼,快速查詢 修改等操作,節省數小時乃至更多的工作時間 官網文件 from bs4 import beautifulsoup print path beautifulsoup path 非真實網頁 html doc 夏日炎炎,要你幹嘛 print soup.hea...

爬蟲 bs4模組

安裝 pip3 install beautifulsoup4 解析html和xml,修改html和xmlimport requests from bs4 import beautifulsoup 文件容錯能力,不是乙個標準的html也能解析 soup beautifulsoup html doc,l...

爬蟲學習(十一) bs4基礎學習

bs4是第三方提供的庫,可以將網頁生成乙個物件,這個網頁物件有一些函式和屬性,可以快捷的獲取網頁中的內容和標籤 lxml是乙個檔案的直譯器,python自帶的直譯器是 html.parser import re from bs4 import beautifulsoup 把網頁生成物件的物件拿出來 ...