python爬取简历模板

利用python爬取简历模板用作制作简历参考

  • 前言
  • 简历获取
    • 分析网站
    • 爬取思路
    • 数据爬取
    • 数据保存
  • 总结

前言

临近毕业,设计一份好的,具有个性化的简历是必须的。
当然,简历的样式也有很多种,比如单页的,多页的,表格类的…现在我用python中的requests+bs4+正则表达式编写代码爬取网上的简历模板用作参考。
数据来源:http://www.gerenjianli.com(个人简历网)

简历获取

分析网站

打开网站我们看到如图所示的界面python爬取简历模板_第1张图片点击简历模板进入我们所需要的界面如图:
python爬取简历模板_第2张图片
图上所示便是我们所需要的简历模板种类只需要点击相应的类别便可查看和下载对应的模板,现在我们需要批量下载,这些简历模板。

爬取思路

通过对网站的分析我们可以得到如下的爬取思路:
数据获取思路

  1. 解析初始界面数据
  2. 获取对应简历种类的链接
  3. 进入相应种类模板的界面
  4. 解析界面
  5. 获取每份简历的链接
  6. 进入每份简历所在界面
  7. 解析界面获取数据

数据爬取

首先,先导入爬取数据所对应的库,如下:

import requests
from bs4 import BeautifulSoup
import re
import urllib

再定义一个Jianli类用来爬取和下载数据:

class Jianli:
    def __init__(self,url):
        self.url = url

现在用正则表达式和BeautifulSoup对初始界面进行解析,获取到每个种类简历模板链接:

def jie1(self):
    data = requests.get(self.url)
    data.encoding = data.apparent_encoding
    soup = BeautifulSoup(data.text,'lxml')
    #编写正则表达式提取链接
    url_1 = re.compile(r'')
    soup = str(soup)
    repons = re.findall(url_1,soup)

运行测试截图:python爬取简历模板_第3张图片
获取每个种类模板后需要做的就是在每个种类的简历中解析出每个模板的链接:

for i in repons:
    data1 = requests.get(i)
    data1.encoding = data1.apparent_encoding
    soup1 = BeautifulSoup(data1.text,'lxml')
    soup2 = soup1.find_all('div','donwurl2')
    soup2 = str(soup2)
    #编写正则表达式提取下载链接
    url_2 = re.compile(r')
    repons1 = re.findall(url_2,soup2)

运行测试截图:
python爬取简历模板_第4张图片
到此我们已经获得了所有种类的每个简历模板,现在需要做的就是将其保存。

数据保存

将获取的简历链接下载到本地文件,方便以后的使用:

for a in repons1:
        try:
            urllib.request.urlretrieve(a,'简历模板下载/' + w_name[n] + '.docx')  # 开始下载模板
            print('正在下载第' + str(n) + ' few.' + w_name[n])
            n += 1
        except:
            print('第' + str(n) + ' 失败')
            n += 1

Jianli类的编写到此就结束,现在需要初始化Jianli类运行整个代码块:

if __name__ == "__main__":
    urls_list = ['http://www.gerenjianli.co33m/moban/']
    for u in range(2,11):
        urls = 'http://www.gerenjianli.com/moban/index_'+str(u)+'.html'
        urls_list.append(urls)
    for url in urls_list:
        ppt = Jianli(url)
        ppt.jie1()

以上代码先新建一个urls_list列表用以存放所有的种类链接,然后遍历链接列表分别取出链接并调用Jianli类的实例再调用其中的jie1方法下载模板,下载截图如下:
python爬取简历模板_第5张图片

完整代码如下:

import requests
from bs4 import BeautifulSoup
import re
import urllib
class Jianli:
    def __init__(self,url):
        self.url = url
    def jie1(self):
        data = requests.get(self.url,headers = 'ksodvcpk')
        data.encoding = data.apparent_encoding
        soup = BeautifulSoup(data.text,'lxml')
        #编写正则表达式提取链接
        url_1 = re.compile(r'')
        soup = str(soup)
        w_name = re.findall('(.*?),soup)
        repons = re.findall(url_1,soup)
        print(repons)
        n = 0
        for i in repons:
            data1 = requests.get(i)
            data1.encoding = data1.apparent_encoding
            soup1 = BeautifulSoup(data1.text,'lxml')
            soup2 = soup1.find_all('div','donwurl2')
            soup2 = str(soup2)
            #编写正则表达式提取下载链接
            url_2 = re.compile(r')
            repons1 = re.findall(url_2,soup2)
            print(repons1)
            for a in repons1:
                    try:
                        urllib.request.urlretrieve(a,'简历模板下载/' + w_name[n] + '.docx')  # 开始下载模板
                        print('正在下载第' + str(n) + ' few.' + w_name[n])
                        n += 1
                    except:
                        print('第' + str(n) + ' 失败')
                        n += 1
if __name__ == "__main__":
    urls_list = ['http://www.gerenjianli.co33m/moban/']
    for u in range(2,11):
        urls = 'http://www.gerenjianli.com/moban/index_'+str(u)+'.html'
        urls_list.append(urls)
    for url in urls_list:
        ppt = Jianli(url)
        ppt.jie1()

总结

这次通过爬取简历模板对python爬虫做一个简单的复习,在代码完善,数据处理方面还有待提高。

你可能感兴趣的:(技术文章,python,pycharm)