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应用(二)站长网站简历下载爬取的主要内容,如果未能解决你的问题,请参考以下文章