龙空技术网

python下载rpm包

人生易短我用python 267

前言:

当前朋友们对“下载python包”大致比较关怀,朋友们都想要剖析一些“下载python包”的相关知识。那么小编同时在网上网罗了一些有关“下载python包””的相关知识,希望朋友们能喜欢,小伙伴们快快来学习一下吧!

第一步:先引入所需要的包:

import requests

from lxml import etree

import asyncio

import time

第二步:为了突破反爬限制加入headers

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.100 Safari/537.36",

"Upgrade-Insecure-Requests": "1",

"Host": "download.cs2c.com.cn",

"Connection": "keep-alive",

"Cache-Control": "max-age=0",

"Accept-Encoding": "gzip, deflate",

"Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3"

}

第三步:下载网站的的url地址:

url = ''

第四步:开始请求页面

html = requests.get(url,headers=headers,timeout=10)

第五步:返回请求信息

html_xpath = etree.HTML(html.text)

第六步:拿到全部的下载url

html_list = html_xpath.xpath('//table/tr/td/a/@href')

第七步:拿到全部的下载rpm包所对应包的名字

html_list1 = html_xpath.xpath('//table/tr/td/a/text()')

第八步:拿到下载链接的网址前半部分

link = ''

第九步:写for循环下载

for x,y in zip(html_list,html_list1): #for循环,去循环url下载地址和包名

a = link+(x) #拼接下载地址和下载前半部分

bb = requests.get(a) #在此请请求一次

name = y #把循环后的包名存到name变量里面

with open('e:/python/爬完数据存放地址/爬取数据2/rpm/' + name, 'wb')as f:

#开始下载,open打开存储地址e:/python/爬完数据存放地址/爬取数据2/rpm/'

加上循环后的包名:name ,以web形式存储

f.write(bb.content)

#开始下载

标签: #下载python包