前言:
当前朋友们对“下载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包