前言

最近在b站是看爬虫教学视频,其中一个课后作业是爬取站长之家上的免费简历模板,本文在这里详细记录一下爬取的方法。

首页

先写一个爬取首页简历的,然后再修改成分页。

import requests
from lxml import etree
import os
# 建一个文件夹存储简历
if not os.path.exists('./jlLibs'):os.mkdir('./jlLibs')# 进行UA伪装
headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
url = 'https://sc.chinaz.com/jianli/free.html'# 获取首页的信息
page_text = requests.get(url=url, headers=headers).text# 用xpath进行解析
tree = etree.HTML(page_text)
cover_list = tree.xpath('//div[@class="sc_warp  mt20"]/div/div/div')
all_free_cover = []# 遍历解析完的列表,获取简历详情页的地址和简历名称
for cover in cover_list:free_cover = cover.xpath('./a/@href')[0]name = cover.xpath('./p/a/text()')[0]name = name.encode('iso-8859-1').decode('utf-8')all_free_cover.append(free_cover)# 根据解析出的简历详情页地址进行爬取for key in all_free_cover:new_url = 'https:' + keycover_page = requests.get(url=new_url, headers=headers).text# 再次使用xpath解析出简历详情页的下载地址new_tree = etree.HTML(cover_page)download_path = new_tree.xpath('//div[@class="clearfix mt20 downlist"]/ul/li')all_down_list = []for down_cover in download_path:download = down_cover.xpath('./a/@href')[0]all_down_list.append(download)# 根据解析出的下载地址进行爬取并存储for download_all in all_down_list:download_all = requests.get(url=download_all, headers=headers).contentpath = './jlLibs/' + name + '.rar'with open(path, 'wb')as fp:fp.write(download_all)print(name, '成功')

运行成功。

分页爬取

对之前的程序进行修改,实现分页爬取。

首先观察一下目标网页的地址

第一页:https://sc.chinaz.com/jianli/free.html

第二页:https://sc.chinaz.com/jianli/free_2.html

第三页:https://sc.chinaz.com/jianli/free_3.html

通过观察可以发现除了第一页外均是连续编号的,因此第二页及以后可以用range()来循环

代码如下:

import requests
from lxml import etree
import osif not os.path.exists('./jlLibs'):os.mkdir('./jlLibs')headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36'
}
url = 'https://sc.chinaz.com/jianli/free_%d.html'
for pagenum in range(1, 6):if pagenum == 1:n_url = 'https://sc.chinaz.com/jianli/free.html'else:n_url = format(url % pagenum)page_text = requests.get(url=n_url, headers=headers).texttree = etree.HTML(page_text)cover_list = tree.xpath('//div[@class="sc_warp  mt20"]/div/div/div')all_free_cover = []for cover in cover_list:free_cover = cover.xpath('./a/@href')[0]name = cover.xpath('./p/a/text()')[0]name = name.encode('iso-8859-1').decode('utf-8')all_free_cover.append(free_cover)for key in all_free_cover:new_url = 'https:' + keycover_page = requests.get(url=new_url, headers=headers).textnew_tree = etree.HTML(cover_page)download_path = new_tree.xpath('//div[@class="clearfix mt20 downlist"]/ul/li')all_down_list = []for down_cover in download_path:download = down_cover.xpath('./a/@href')[0]all_down_list.append(download)for download_all in all_down_list:download_all = requests.get(url=download_all, headers=headers).contentpath = './jlLibs/' + name + '.rar'with open(path, 'wb')as fp:fp.write(download_all)print(name, '成功')

xpath批量下载简历模板相关推荐

  1. 利用xpath批量下载PPT模板

    用xpath方法,对第一PPT网站进行批量下载模板,仅对第一行进行了PPT模板批量下载,如可自行更改文件中的内容实现对不同行的获取 由于本人能力有限,没有找到那两个文件内容的xpath路径,所以自己创 ...

  2. 手机怎么从网上下载简历模板?如何在手机上做简历?

    在手机上编辑个人简历时,相信很多小伙伴都会从浏览器中来选择简历模板下载,但是很多的网站下载简历总是会附带很多杂七杂八的东西,想要删除的时候找不到文件位置,那么有什么其他的方法能下载简历模板吗?下面小编 ...

  3. 如何在线下载简历模板?手机上怎么下载简历?

    现在从手机上也可以下载简历模板来制作简历,相比于从电脑上做简历,手机更加的方便快捷,那么大家知道手机上的简历模板从哪下载吗?在用浏览器搜索简历的时候,很多的简历下载后排版错乱或者会带着其他的内容需要下 ...

  4. 推荐一个免费下载简历模板的网站

    最近在做简历,发现很多简历模板下载都需要付费,发现一个免费下载模板的网站,推荐给大家: http://www.jxhou.com/index.html

  5. Python-ppt模板批量下载

    基于Python 爬虫批量下载ppt模板 github https://www.cnblogs.com/w0000/p/15106500.html import requests from lxml ...

  6. 6个简历模板免费下载网站,资源超多,质量超高!

    对于刚毕业的同学来说,写好一份简历还是比较困难的,最开始大家都会选择简历模板然后进行编辑.填充内容.那么哪里可以下载高质量的简历模板呢? 今天分享6个模板网站,涵盖了各行各业需要用到的模板,不仅可以直 ...

  7. 怎么从手机上下载应聘简历模板?个人简历如何从手机做?

    ​当我们找工作时,一般都会先准备一份应聘简历,当我们投递简历或者面试时都会用到,那么如果想要用手机来制作一份简历时,该如何操作呢?想要制作简历,那么首先要下载一份自己喜欢的简历模板,会让简历制作变得更 ...

  8. 5个免费简历模板下载网站,资源丰富,下载无套路

    分享5个免费简历模板下载网站,简历模板类型丰富而且数量多,不管需要什么样的简历几乎都能找到,而且免费下载无套路! 1.简历下载 一个完全免费的简历模板下载网站,模板数量不多,但是质量还挺高的,并且有详 ...

  9. 手机怎么做面试简历?怎么在手机上下载求职简历模板?

    ​在面试求职的时候,准备简历是必做的一项基础工作,那么想要获取自己心仪的工作岗位,如何设计简历模板才能更加有吸引力呢?那么最简单的方法就是从网上寻找合适的简历模板下载填充内容,手机上下载简历模板的方法 ...

  10. 5个Word简历模板下载网站,免费模板超多,下载超方便

    分享5个免费简历模板下载网站,优秀简洁模板超丰富,直接下载就能用! 1.极简简历 一个简历免费在线制作网站,里面有十几个简历模板,都是比较简约的那种风格,虽然简历模板不多,但是可以直接在线编辑制作简历 ...

最新文章

  1. SunDay天气——开放源代码
  2. 二维数组更改vue_二维数组如何在vue中显示表格
  3. 【Linux开发】linux设备驱动归纳总结(十二):简单的数码相框
  4. VTK修炼之道62:体绘制_固定点光线投影体绘制与GPU加速光线投影体绘制
  5. python网络编程证书_《Python网络编程基础》笔记
  6. C#得到CPU的序列号、硬盘序列号、网卡序列号
  7. 软件构造学习笔记-第四周
  8. obs多推流地址_苹果手机IOS系统:抖音+易推流直播手机游戏——墨涩网
  9. 三坐标测量圆直径_多台三坐标测量机联动测量方法的研究
  10. 如何在 Mac 上重置网络设置?
  11. 【状压dp】【POJ2288】Islands and Bridges【Hamilton路】
  12. select count(*) ,count() , select *
  13. 关于U盘不能新建文件夹
  14. 打不开malloc和free函数
  15. 思科交换机配置试题_思科交换机配置命令(都是咱学过的总结)
  16. 计算机系军训口号四句霸气,军训口号四句霸气中队
  17. 几种ARM编译器及IDE开发环境
  18. 第一次使用拉勾网求职经历
  19. Jeffery C. Hill
  20. linux系统文件颜色所代表的意思

热门文章

  1. 推荐一个商业级saas开源小程序电商java项目
  2. W3Cschoool菜鸟教程
  3. android程序 幻灯片,安卓看图软件 要可以直接幻灯片一个包含很
  4. 一枚php大马放送~
  5. eclipse中pom文件的查看
  6. c语言二元一次方程代码,二元一次方程(示例代码)
  7. BUUCTF-MISC-黑客帝国~喵喵喵
  8. ADS(Advanced Design system)仿真测试元器件输入阻抗
  9. VMware中安装linux系统(可视化界面centOS 7)
  10. 苹果手机远程服务器桌面,如何用手机APP远程桌面管理Windows云服务器或电脑