全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 经管百科 爱问频道
778 0
2019-06-06
悬赏 300 个论坛币 未解决
在写一个Python爬虫的时候遇到了一个问题,
我现在能提取到像这样的下载链接 https://cn.imslp.org/wiki/Specia ... rAccept/148302/patq但是打开后如下,它会进行跳转,跳转两次之后得到的.mid的链接才是真正的文件链接
-7435b11852373c4.jpg
如果我通过request我的第一个链接,然后用response.geturl()可以得到跳转到中间那个链接的url
而且我发现在刚才那个图里面中间那个链接我看他的响应头里的location就有第三个链接的url(我想要的)

但是我request我geturl得到的中间的链接之后,再次geturl,并不能得到第三个链接的url(我想要的)
而且查询中间链接的响应头里,也没有location信息!
而且这时候我查我request第中间链接的状态码已经不是302是200了…
我试着给请求中间链接的request.get()里加了allow_redirects=False但好像并没有什么用

我又不想用selenium,加载页面太慢了
求一个能帮我获取到第三个链接url的办法。
以下是这一小块的部分代码,或许有些可以直接拿来用用。

import requests
import urllib.request
from requests.packages import urllib3
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
urllib3.disable_warnings()
def get_jump_url(url):
    '''
    获取跳转后的真实下载链接
:param url: 页面中的下载链接
:return: 跳转后的真实下载链接
    '''
req = urllib.request.Request(url)
    response = urllib.request.urlopen(req)
    dlurl = response.geturl()
    return dlurl
url = 'https://cn.imslp.org/wiki/Special:IMSLPDisclaimerAccept/148302/patq'

dlurl = get_jump_url(url)

#请求第一次跳转后的链接
response=requests.get(dlurl,allow_redirects=False,verify=False)


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群