B10 爬蟲課程02

2021-10-03 02:53:25 字數 3383 閱讀 6948

#使用方式:使用//獲取整個頁面當中的元素,然後寫標籤名,然後再寫謂詞進行提取。

//div[@clas='abc']
1./和//的區別:/只獲取直接子節點,//可以獲取子孫節點

2.contains:有時候某個屬性包含多個值,可以使用cntains

//div[contains(@class,'job_detail')]
3.謂詞的下標是從1開始

1.解析html字串:使用』lxml.etree.html』進行

htmlelement = etree.

html

(text)

print

(etree.

tostring

(htmlelement,encoding=

'utf-8').

decode

('utf-8'

))

2.解析html檔案:使用』lxml.etree.parse』進行,如果這個函式預設使用xml解析器,需要自己建立html解析器。

htmlelement = etree.

parse

('qingyunian.html'

)print

(etree.

tostring

(htmlelement,encoding=

'utf-8').

decode

('utf-8'

))

from lxml import etree

#解析慶餘年短評

def parse_qyn_file()

: parser = etree.

htmlparser

(encoding=

'utf-8'

) htmlelement = etree.

parse

('qingyunian.html'

,parser=parser)

print

(etree.

tostring

(htmlelement,encoding=

'utf-8').

decode

('utf-8'))

#解析拉鉤網頁

def parse_lagou_file()

: parser = etree.

htmlparser

(encoding=

'utf-8'

) htmlelement = etree.

parse

('lagou.html'

,parser=parser)

print

(etree.

tostring

(htmlelement,encoding=

'utf-8').

decode

('utf-8'))

if __name__ ==

'__main__'

:#parse_lagou_file()

#parse_text()

parse_qyn_file

()

from lxml import etree

parser = etree.htmlparser(encoding=

'utf-8'

)html = etree.parse(

"tencent.html",parser=parser)

#1.獲取所有的a標籤

#//a

#xpath返回的是乙個列表

alis = html.xpath(

"//a[@class='recruit-list-link']"

)for a in alis:

print(etree.tostring(a,encoding=

'utf-8'

).decode(

"utf-8"

))#2.獲取所有崗位名稱

alis = html.xpath(

"//h4"

)for a in alis:

print(etree.tostring(a,encoding=

'utf-8'

).decode(

"utf-8"

))#3.獲取所有職位資訊

alis = html.xpath(

"//p[@class='recruit-text']"

)for a in alis:

print(etree.tostring(a,encoding=

'utf-8'

).decode(

"utf-8"

))

#4.獲取所有的純文字資訊

alis = html.

xpath

("//a[@class='recruit-list-link']"

)positions =

for a in alis:

#在某個標籤下,再執行xpath函式,獲取子孫元素,那麼應該在//前加乙個點,代表在當前元素下獲取

title = a.

xpath

(".//h4[@class='recruit-title']/text()"

) daihao = a.

xpath

("./p[1]//span[1]/text()"

) address = a.

xpath

("./p[1]//span[2]/text()"

) category = a.

xpath

("./p[1]//span[3]/text()"

) time = a.

xpath

("./p[1]//span[5]/text()"

) needs = a.

xpath

("./p[2]/text()"

)

position =

positions.

(position)

print

(positions)

#寫入excel**

#寫入excel**

import pandas as pd

datadf = pd.

dataframe

(positions)

datadf.

to_excel

('result.xlsx'

,sheet_name=

'pachong_cc'

)# 匯出excel

7 10 矩陣A乘以B 10 分

7 10 矩陣a乘以b 10 分 給定兩個矩陣a和b,要求你計算它們的乘積矩陣ab。需要注意的是,只有規模匹配的矩陣才可以相乘。即若a有r a行 ca列,b有rb 行 c b列,則只有c a與r b 相等時,兩個矩陣才能相乘。輸入格式 輸入先後給出兩個矩陣a和b。對於每個矩陣,首先在一行中給出其行數...

L1 037 A除以B 10分 C語言

真的是簡單題哈 給定兩個絕對值不超過100的整數a和b,要求你按照 a b 商 的格式輸出結果。輸入格式 輸入在第一行給出兩個整數a和b 100 a,b 100 數字間以空格分隔。輸出格式 在一行中輸出結果 如果分母是正數,則輸出 a b 商 如果分母是負數,則要用括號把分母括起來輸出 如果分母為零...

基礎爬蟲系列課程授課內容0 爬蟲的基本原理

什麼是爬蟲?簡單地說,爬蟲就是請求 並提取資料的一種自動化程式。爬蟲的基本流程 1 向伺服器發起請求 通過http庫向目標站點發起請求,即傳送乙個request,請求可以包含額外的headers等資訊,等待伺服器的響應。2 獲取響應內容 得到的內容可能是html,可以用正規表示式 網頁解析庫進行解析...