【python爬虫】对站长网址中免费简历模板进行爬取
本篇仅在于交流学习
解析页面

可以采用xpath进行页面连接提取
进入页面

通过进入的页面可以得到下载地址
步骤:
提取表页面模板链接——>进入连接——>提取页面内下载地址连接——>下载保存
headers = {
'User-Agent': '用自己得头部'
}
response = requests.get(url=url, headers=headers).text #解析页面
tree = etree.HTML(response)
#print(tree)
page_list = tree.xpath('//div[@id="main"]/div/div/a') #捕获信息位置
for li in page_list:
page_list_url = li.xpath('./@href')[0]
page_list_url = 'https:' + page_list_url #提取页面地址
#print(page_list_url)
in_page = requests.get(url=page_list_url,headers=headers).text #进入地址
trees = etree.HTML(in_page)
#print(trees)
download_url = trees.xpath('//div[@class="clearfix mt20 downlist"]/ul/li/a/@href')[0] #目的文件地址
name = trees.xpath('//div[@class="ppt_tit clearfix"]/h1/text()')[0] + '.rar' #文件名字
name = name.encode('iso-8859-1').decode('utf-8') #修改命名乱码
#print(download_url)
if not os.path.exists('./download'): #保存
os.mkdir('./download')
download = requests.get(url=download_url,headers=headers).content
page_name = 'download/' + name
with open(page_name,'wb') as fp:
fp.write(download)
print(name,'end!')
分析网页之间联系:
实施多页面提取
try:
start = int(input('请输入要爬取到的尾页:'))
if start == 1 :
url = 'https://sc.chinaz.com/jianli/free.html'
get_page(url)
print("爬取完毕")
elif start == 2 :
url = 'https://sc.chinaz.com/jianli/free.html'
get_page(url)
url = 'https://sc.chinaz.com/jianli/free_2.html'
get_page(url)
print("爬取完毕")
elif start >= 3 :
url = 'https://sc.chinaz.com/jianli/free.html'
get_page(url)
for i in range(2, start):
url = 'https://sc.chinaz.com/jianli/free_%s.html' % (i * 1)
get_page(url)
print("爬取完毕")
except ValueError:
print('请输入数字:')
完整代码:
import requests
from lxml import etree
import os
def get_page(url):
headers = {
'User-Agent': '自己的头部'
}
response = requests.get(url=url, headers=headers).text #解析页面
tree = etree.HTML(response)
#print(tree)
page_list = tree.xpath('//div[@id="main"]/div/div/a') #捕获信息位置
for li in page_list:
page_list_url = li.xpath('./@href')[0]
page_list_url = 'https:' + page_list_url #提取页面地址
#print(page_list_url)
in_page = requests.get(url=page_list_url,headers=headers).text #进入地址
trees = etree.HTML(in_page)
#print(trees)
download_url = trees.xpath('//div[@class="clearfix mt20 downlist"]/ul/li/a/@href')[0] #目的文件地址
name = trees.xpath('//div[@class="ppt_tit clearfix"]/h1/text()')[0] + '.rar' #文件名字
name = name.encode('iso-8859-1').decode('utf-8') #修改命名乱码
#print(download_url)
if not os.path.exists('./download'): #保存
os.mkdir('./download')
download = requests.get(url=download_url,headers=headers).content
page_name = 'download/' + name
with open(page_name,'wb') as fp:
fp.write(download)
print(name,'end!')
def go(): #多页面选择
try:
start = int(input('请输入要爬取到的尾页:'))
if start == 1 :
url = 'https://sc.chinaz.com/jianli/free.html'
get_page(url)
print("爬取完毕")
elif start == 2 :
url = 'https://sc.chinaz.com/jianli/free.html'
get_page(url)
url = 'https://sc.chinaz.com/jianli/free_2.html'
get_page(url)
print("爬取完毕")
elif start >= 3 :
url = 'https://sc.chinaz.com/jianli/free.html'
get_page(url)
for i in range(2, start):
url = 'https://sc.chinaz.com/jianli/free_%s.html' % (i * 1)
get_page(url)
print("爬取完毕")
except ValueError:
print('请输入数字:')
go() if __name__ == '__main__':
go()
效果:

【python爬虫】对站长网址中免费简历模板进行爬取的更多相关文章
- Python爬虫入门教程 15-100 石家庄政民互动数据爬取
石家庄政民互动数据爬取-写在前面 今天,咱抓取一个网站,这个网站呢,涉及的内容就是 网友留言和回复,特别简单,但是网站是gov的.网址为 http://www.sjz.gov.cn/col/14900 ...
- Python爬虫入门教程第七讲: 蜂鸟网图片爬取之二
蜂鸟网图片--简介 今天玩点新鲜的,使用一个新库 aiohttp ,利用它提高咱爬虫的爬取速度. 安装模块常规套路 pip install aiohttp 运行之后等待,安装完毕,想要深造,那么官方文 ...
- Python爬虫实践~BeautifulSoup+urllib+Flask实现静态网页的爬取
爬取的网站类型: 论坛类网站类型 涉及主要的第三方模块: BeautifulSoup:解析.遍历页面 urllib:处理URL请求 Flask:简易的WEB框架 介绍: 本次主要使用urllib获取网 ...
- Java分布式爬虫Nutch教程——导入Nutch工程,执行完整爬取
Java分布式爬虫Nutch教程--导入Nutch工程,执行完整爬取 by briefcopy · Published 2016年4月25日 · Updated 2016年12月11日 在使用本教程之 ...
- Python中使用requests和parsel爬取喜马拉雅电台音频
场景 喜马拉雅电台: https://www.ximalaya.com/ 找到一步小说音频,这里以下面为例 https://www.ximalaya.com/youshengshu/16411402/ ...
- Python爬虫:新浪新闻详情页的数据抓取(函数版)
上一篇文章<Python爬虫:抓取新浪新闻数据>详细解说了如何抓取新浪新闻详情页的相关数据,但代码的构建不利于后续扩展,每次抓取新的详情页时都需要重新写一遍,因此,我们需要将其整理成函数, ...
- python应用:爬虫框架Scrapy系统学习第四篇——scrapy爬取笔趣阁小说
使用cmd创建一个scrapy项目: scrapy startproject project_name (project_name 必须以字母开头,只能包含字母.数字以及下划线<undersco ...
- Python 网络爬虫 006 (编程) 解决下载(或叫:爬取)到的网页乱码问题
解决下载(或叫:爬取)到的网页乱码问题 使用的系统:Windows 10 64位 Python 语言版本:Python 2.7.10 V 使用的编程 Python 的集成开发环境:PyCharm 20 ...
- Python爬虫学习==>第十一章:分析Ajax请求-抓取今日头条信息
学习目的: 解决AJAX请求的爬虫,网页解析库的学习,MongoDB的简单应用 正式步骤 Step1:流程分析 抓取单页内容:利用requests请求目标站点,得到单个页面的html代码,返回结果: ...
- python网络爬虫(12)去哪网酒店信息爬取
目的意义 爬取某地的酒店价格信息,示例使用selenium在Firefox中的使用. 来源 少部分来源于书.python爬虫开发与项目实战 构造 本次使用简易的方案,模拟浏览器访问,然后输入字段,查找 ...
随机推荐
- cookies、session、token
cookies 当登录的时候这个set-cookies就是把cookies的数据保存到了客户端的application/cookies中 session 表示为会话,存放在服务端,当用户登录,服务器就 ...
- rename基本操作
电脑是Macbook, 用Homebrew先安装rename. 如果没安装Homebrew 直接复制到terminal中回车, 时间稍长. ruby -e "$(curl -fsSL htt ...
- debian 系统中安装中文输入法
debian wiki 中关于此主题的文档 :https://wiki.debian.org/InputMethodBuster 在图形界面选择 gnome,输入法程序选择 ibus 的情况下,配置较 ...
- 痞子衡嵌入式:分享一个i.MXRT系列配套DRAM压力测试上位机工具(i.MXRT DRAM Tester)
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是恩智浦SE团队制作的i.MXRT配套DRAM压力测试上位机工具. 事情源于痞子衡的技术交流群里的提问,有群友在恩智浦官方技术公众号 [恩 ...
- Androidstudio连接SQLite数据库报错not such table的相关解决
错误展示 明明就是按照创建第一个表的步骤来的,然后就是死活创建不出来第二张表,离谱啊家人们! 错误解决 针对于这个错误,只需要在SQLite类里面,将其中的version变量的值更改为更高版本即可: ...
- GO语言学习笔记-测试篇 Study for Go ! Chapter ten- Test
持续更新 Go 语言学习进度中 ...... GO语言学习笔记-类型篇 Study for Go! Chapter one - Type - slowlydance2me - 博客园 (cnblogs ...
- Spring Boot中如何优雅地实现异步调用?
前言 SpringBoot想必大家都用过,但是大家平时使用发布的接口大都是同步的,那么你知道如何优雅的实现异步呢? 这篇文章就是关于如何在Spring Boot中实现异步行为的.但首先,让我们看看同步 ...
- 如何快速体验ChatGPT-4模型
OpenAI免费版基于Gpt3.5,无法使用最新发布的 GPT-4 模型,必须开通 ChatGPT Plus.但是 OpenAI 不但屏蔽了中国的 IP 地址,连国内的 Visa 信用卡也一同屏蔽,即 ...
- DevOps|研发效能价值如何衡量
现在很多公司都在做或者计划做研发效能,也知道研发效能工作很重要,能提高产研运同学的协同效率,提高员工的工作效率和质量,提高业务交付效率和交付质量,但是价值有多大?效率又有多高呢?因为不容易说清楚,所以 ...
- CentOS8安装Oracle datebase 19C
我这里安装Oracle数据库是rpm格式的包.需要先得有以下依赖包关系,先依次按此顺序安装. yum install ./compat-libcap1-1.10-7.el7.x86_64.rp ...