爬虫项目二十一:需要简历吗?用Python轻松爬下上千份简历模板


前言

用Python对站长之家的上千个简历模板批量爬取保存

在这里插入图片描述


提示:以下是本篇文章正文内容,下面案例可供参考

一、获取详情页url

我们进入站长之家的免费模板网站 https://sc.chinaz.com/jianli/free.html

进行翻页观察页面的url变化规律,可以看到其规律就是free后变化的数据

第一页:https://sc.chinaz.com/jianli/free.html
第二页:https://sc.chinaz.com/jianli/free_2.html
第三页:https://sc.chinaz.com/jianli/free_3.html

我们右键检查元素,通过XPath定位,即可找到标题所对应的详情页链接

在这里插入图片描述
根据url的变化规律,以及XPath定位可以利用Python获取每个模板的详情页链接和标题

代码如下:

def Get_Detail_Url(self):
    start_page=input("请输入起始页数(大于等于2):")
    end_page=input("请输入结束页数:")
    for i in range(int(start_page),int(end_page)+1):
        url = "https://sc.chinaz.com/jianli/free_%d.html" % (i)
        r = requests.get(url=url, headers=self.header)
        r.encoding='utf-8'
        text=r.text
        html = etree.HTML(text)
        div_list = html.xpath("//*[@id='container']/div")
        for div in div_list:
            try:
                url = 'https:' + div.xpath("./p/a/@href")[0]
                name = div.xpath("./p/a/text()")[0]
                self.detail_url_list.append(url)
                self.name_list.append(name)
            except:
                pass
    print("共获取%d个详情页url" % (len(self.detail_url_list)))

二、获取下载链接

上步骤我们已经获取了所有模板的详情页url和标题,我们进入详情页 找到下载位置 右键检查,可以找到模板的下载链接

在这里插入图片描述
知道了下载链接的位置,可以下代码获取

代码如下:

def Get_Dowload_Url(self,detail_url):
    r = requests.get(url=detail_url, headers=self.header)
    r.encoding='utf-8'
    text=r.text
    html = etree.HTML(text)
    try:
        dowload_url = html.xpath("//*[@id='down']/div[2]/ul/li[1]/a/@href")[0]
        self.Dowload_url_list.append(dowload_url)
    except:
        pass

三、保存模板

上面我们根据列表页获取了详情页链接,通过详情页获取了下载链接,现在我们只需要访问下载链接保存其二进制数据,即可下载模板

代码如下:

def Dowload_Jl(self,dowload_url,name):
    print("正在下载%s模板" % (name))
    req = requests.get(url=dowload_url, headers=self.header).content
    load_name = name + ".rar"
    path = "简历模板/" + load_name
    with open(path, "wb") as f:
        f.write(req)

最后,我们需要一个函数 将这些函数全部调用

def main(self):
    if not os.path.exists("./简历模板"):
        os.mkdir("./简历模板")
    self.header = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.88 Safari/537.36'
    }
    self.detail_url_list = []
    self.name_list = []
    self.Get_Detail_Url()
    self.Dowload_url_list=[]
    pool = Pool(7)
    pool.map(self.Get_Dowload_Url,self.detail_url_list)
    pool = newPool(7)
    pool.map(self.Dowload_Jl, self.Dowload_url_list, self.name_list)

如果你对爬虫感兴趣,可看我主页已经更新多个爬虫项目、所有爬虫项目代码均在公众号“阿虚学Python”中,本次源码回复“简历”获取

在这里插入图片描述
原创文章不易,如果觉得不错,点个赞是对原创博主最大的支持

转载请标明出处

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值