前言
用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”中,本次源码回复“简历”获取
原创文章不易,如果觉得不错,点个赞是对原创博主最大的支持
转载请标明出处