|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 夏煜哥 于 2022-4-10 10:32 编辑
1.思路
Python官网的Python版本,全部都有属于自己的网页。为了腾出更大的空间,Python官网的下载通道只下载,把详细的资料则给了版本的网页,通过a标签(超链接)连接。而a的内容,就是版本 + 发售日期。所以,思路就是. . .(https://www.python.org/downloads/windows/)
- 1.使用requests.get()/urllib.request.urlopen()获取下载通道html
- 2.使用bs4找出正确a标签(配合if,for)
- 3.保存为.xlsx
复制代码
2.实战
【1】requests
--headers:
众所周知,Python官网不像鱼C,会检查headers,所以要先解决headers。
我有几个User-Agent,分享一下:
- uas = ['Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36', 'Mozilla/5.0 (Windows NT 7.0; Win32; x32) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36', 'Mozilla/5.0 (Windows NT 7.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36', 'Mozilla/5.0 (Windows NT 11.0; Win32; x32) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36', 'Mozilla/5.0 (Windows NT 10.0; Win32; x32) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.81 Safari/537.36']
复制代码
别问我怎么搞来这么多User-Agent,其实他都是列表的第一个改过来的,把参数改了一下。
而headers字典,看到我的“us”列表,大家应该会这么写:
- import random as r
- headers = {
- 'user-agent' : uas[r.randint(0,4)]}
复制代码
当然,也可以用choice(uas)代替。
--get:
装了requests的get()
- from requests import *
- resp = get('https://www.python.org/downloads/windows/', headers = headers)
复制代码
新手专用urllib.request.urlopen()
- from urllib.requestsimport *
- req = Request('https://www.python.org/downloads/windows/',headers = headers)
- resp = urlopen(req)
复制代码
--编码:
装了requests的:
|
|