获取镜像文件(一)利用re模块解析

前言

因为pip下载比较吃力 也经常报延迟错误 所以想在镜像网站下载whl进行安装使用
此次只是简单地爬取页面元素进行正则匹配 没有验证等难点 所以就是很基础的请求后解析

	# 使用re模块解析页面a标签
	a_re = re.compile(r"<a\s+(?P<href>\S+)>(?P<name>\S+)</a>\S+")
	取出所有href和a标签内容
    for raw_data in all_raw_data:
        href_name = {}
        for data in raw_data:
            if 'href' in data:
                back_href = get_back_href(get_href(data))
                front_href = remove_uri(url, back_href[1] + 1)
                href_name['href'] = front_href + back_href[0]
            else:
                href_name['name'] = data
            hrefs_names.append(href_name)
    return hrefs_names
# 因为链接是../../abc这种带有上级目录的内容 所以要把相应的退格去掉
def remove_uri(raw_url, step):
    for i in range(step):
        slash_index = raw_url.rfind('/')
        raw_url = raw_url[:slash_index]
    return raw_url + '/'

# 获取需要退几步方便进行网址拼接
def get_back_href(data):
    step = data.count('../')
    href = data[step * 3:]
    return href, step

#获取href
def get_href(raw_href):
    key_word = 'href='
    href_index = raw_href.find(key_word)
    return raw_href[href_index + len(key_word):].strip('"')

运行结果

{‘href’: ‘https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple/bwget/’, ‘name’: ‘bwget’},

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值