1.html:超文字標記語言
2.申明字元型別
3.需關注html css
4.div
5.樹形關係:先輩、父、子、兄弟、後代
6.xpath:從文件中定位元素
可將其理解為語言
『/』從根節點進行選取
『//』從匹配選擇的當前結點來對文件的結點進行選擇
『.』選取當前結點
『..』選擇當前節點的父節點
『@』選擇屬性
/html
body/div 選擇屬於body 的子元素中的所有div元素
//div 選取所有div標籤的子元素,而不管他們在html文件中的位置
@lang 選取名稱為lang的所有屬性
2萬用字元:
* 匹配任何元素結點
@* 匹配任何屬性結點
//* 選擇文件當中的所有元素
//title[@*] 選取帶有屬性的title元素
| 路徑表示式中,| 代表的是和的關係
//body/div | //table/li 選取body元素的所有div元素和 li元素
//div | //li 選取所有div和li元素
3.beautifulsoup
什麼是beautifulsoup ?
是乙個可以從html或者是xml檔案中提取資料的乙個python 庫
pip install beautifulsoup4
使用:from bs4 import beautifulsoup
html_doc = " "
html_file = open(html_doc,"r",encoding ="gbk")
html_handle = html_file.read()
html_handle.encode(encoding = "utf-8")
soup = beautifulsoup(html_handle,'html.parser')
print(soup)
print(soup.head)
print(soup.p) #這樣只可以獲取第乙個p標籤
#獲取結點中的屬性
print(soup.p.attrs) #獲取p標籤中的屬性
#獲取所有的p標籤
ps=soup.fing_all("p")
print(ps)
#用屬性進行定位
#一般用id 進行定位相對而言比較簡單
result = soup.find_all(id = "")
print(result)
#按照css進行搜尋
jobs = soup.find_all("td",class_="jobs')
#用正規表示式提取資料
import re
#解析:
re:是正規表示式庫,.表示所有資料,表示位元組數,str表示將資料
轉換為字串格式,因為findall只接受字串型別
r = re.findall(">(.)".str(names))
print(r)
4.scrapy框架
pip install scrapy
#如果遇到錯誤,則執行下面兩條語句,因為scrpy框架是基於下面兩個庫
pip install --upgrade incremental
pip install twisted
總結,個人感覺用beautifulsoup加正規表示式爬取一些簡單的網頁便夠用了!
網路爬蟲初步了解
目錄 0.前言 1.基於python的網路爬蟲 2.結束語 前言 初步對爬蟲的了解還是從如今開始,之前並沒有接觸和了解過。在開始對環境配置過程中,並不是很順利,執行也是無法完成,這點我需要向其他同學虛心請教。本文會基於python語言對爬蟲進行初步了解,並分享自己的心得體會。1.基於python的網...
初步嘗試python爬蟲
一直想學習爬蟲 直到最近兩天 才開始了學習 以下嘗試了requests和beautifulsoup的基本用法 抓取了豆瓣新書速遞的 並以書名對進行命名 請各位看官多多指教 如果有人看的話 import requests from bs4 import beautifulsoup as bs url ...
Python爬蟲初步探索
朋友有個爬資料填表的需求,想讓我實現一下,正好python在爬蟲上應用廣泛,我也可以藉此練練手。2020年的第一天,開工。小目標 每日定時爬取某網頁中乙個 中指定資料。早上,先了解了各種爬蟲技術 其實就是第三方庫 的差異 優缺點,發現功能上基本類似或者有交集。在查閱資料過程中,發現requests庫...