xpath应用(二)站长网站简历下载爬取

Posted 离落想AC

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xpath应用(二)站长网站简历下载爬取相关的知识,希望对你有一定的参考价值。

写的时候遇到个问题,让我尝试了一下午都没有成功。
问题:
我想用https://sc.chinaz.com/jianli/主网站爬取下载简历,不过我在爬取的过程中一直出现错误。
换成了子网站就可以了https://aspx.sc.chinaz.com/query.aspx?keyword=%E5%85%8D%E8%B4%B9&classID=864;
两个网站的差距:
主网站有的东西得付费下载。
子网站东西全是免费的。
然后我就尝试了一下午用尽各种办法去筛选。
最后我臣服了。
我是菜狗!
我不会!

借此博客立flag,等以后技术厉害点后,定把这个小问题给解决!!

话不多说,上代码!!!

# -*- coding: UTF-8 -*-
# @Time : 2021/5/17 15:02
# @Author : 李如旭
# @File :jianli.py
# @Software: PyCharm

import requests
from lxml import  etree
import os

if __name__ == "__main__":
    headers = 
        'User-Agent': 'User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0'

    
    url = 'https://aspx.sc.chinaz.com/query.aspx?keyword=%E5%85%8D%E8%B4%B9&classID=864'
    page_text = requests.get(url=url,headers=headers).text
    tree = etree.html(page_text)
    div_list = tree.xpath('//div[@id="container"]/div')

    for div in div_list:
        resume_src = 'http:'+div.xpath('./a/@href')[0]
        resume_name = div.xpath('./a/img/@alt')[0]+'.zip'

        # 对每个简历页面发起请求
        detail_text = requests.get(url=resume_src, headers=headers).text
        tree1 = etree.HTML(detail_text)
        # 解析出下载链接
        download_src = tree1.xpath('//div[@class="clearfix mt20 downlist"]/ul/li[1]/a/@href')[0]
        # 创建一个文件夹
        if not os.path.exists('./resumelibs'):  # 如果不存在
            os.mkdir('./resumelibs')
        # 对下载链接发起请求
        down_load_resume = requests.get(url=download_src, headers=headers).content
        down_load_path = 'resumelibs/' + resume_name

        with open( down_load_path,'wb') as fp:
             fp.write(down_load_resume)
             print(resume_name,'下载成功!!!!')

运行实现

文档查看

以上是关于xpath应用(二)站长网站简历下载爬取的主要内容,如果未能解决你的问题,请参考以下文章

xpath应用(一)58同城二手房网页房屋信息爬取

xpath应用(一)58同城二手房网页房屋信息爬取

2021-05-11

爬虫多个基础实例

爬虫多个基础实例

爬虫多个基础实例