使用xpath解析站長素材 免費簡歷模板

2021-10-03 09:13:47 字數 1930 閱讀 7516

關於使用什麼模組寫爬蟲做資料解析,並沒有刻板的規定,鑑於正在學習仍使用xpath

分析站長素材網的免費簡歷模板,需求分析不再贅述,且看編碼過程

#!/usr/bin/env python

# encoding: utf-8

"""@file: 解析站長素材_免費簡歷模板.py

@time: 2020/2/29 14:30

"""import requests

from lxml import etree

import random

import os

defresume()

: index =

int(

input()

)file

='./免費簡歷模板'

ifnot os.path.exists(

file):

os.mkdir(

file

) headers =

url =

''for page in

range(1

, index)

:if page ==1:

# 第一頁的url不一樣 需要單獨處理

new_url =

''else

:# 拼接從第二頁開始往後的url

new_url =

format

(url % page)

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

# 手動設定響應資料的編碼格式(處理中文亂碼)

response.encoding =

'utf-8'

page_text = response.text

tree = etree.html(page_text)

# 找到簡歷對應的div

div_list = tree.xpath(

'//div[@id="container"]/div'

)for div in div_list:

# 獲取詳情頁的url

detail_url = div.xpath(

'./a/@href')[

0]# 使用alt作為簡歷的檔名稱

resume_name = div.xpath(

'./a/img/@alt')[

0]# 獲取簡歷詳情頁面

detail_page = requests.get(url=detail_url, headers=headers)

.text

tree = etree.html(detail_page)

download_list = tree.xpath(

'//div[@class="clearfix mt20 downlist"]/ul/li/a/@href'

) download_url = random.choice(download_list)

# 持久化儲存

data = requests.get(url=download_url, headers=headers)

.content

filename = resume_name +

'.rar'

filepath =

file

+'/'

+ filename

with

open

(filepath,

'wb'

)as fp:

fp.write(data)

print

(filename,

)if __name__ ==

'__main__'

: resume(

)print

('over!!!'

)

xpath作業 爬取站長素材中免費簡歷模板

注 自己只是爬取了一頁的內容,沒有實現分頁功能,有興趣的小夥伴,可以試試 均已成功實現 import requests from lxml import etree import os if name main headers 建立乙個資料夾 ifnot os.path.exists resumel...

使用 XPath 解析 HTML 文件

原文 使用xpath解析html文件 xpath 的全稱是 xml path language,即 xml 路徑語言,它是一種在結構化文件 比如 xml 和 html 文件 中定位資訊的語言,關於 xpath 的介紹可以參考 後面我們將以下面的 html 文件介紹 xpath 的使用。下表是 xpa...

Python解析庫(一) 使用XPath

xpath最初是用來搜尋xml文件的,但是同樣可以用來解析html文件 表示式 描述 nodename 選取此節點的所有子節點 從當前節點擊取直接子節點 從當前節點擊取子孫節點 選取當前節點 選取當前節點的父節點 選取屬性 例如 title lang eng 這是乙個xpath規則,他代表選取所有名...