请教一下,代码执行后,输入想要下载的电影名,得到的get(“href”)链接却无法下载,我看了看源代码标签,我获取到的HREF居然和源代码的迅雷下载地址不一样,我获取到的FREF和a标签的getText()是一样的(理论上获取到的连接应该和下列图片中的是一样的),有没有大神回答一下,这是怎么回事呢?

bVbiLtV?w=1145&h=110

#引用requests和bs4(BeautifulSoup4的缩写),如果没有安装bs4,可以使用pip install beautifulsoup4下载。

from urllib.request import quote

import bs4

import requests

#quote函数,可以帮我们把内容转为标准的url格式,作为网址的一部分打开。

movie = input('输入你想下载的电影名:')

gbkmovie=movie.encode('gbk')

#将汉字,用gbk格式编码,赋值给gbkmovie。

urlmovie = 'http://s.ygdy8.com/plus/so.php?kwtype=0&searchtype=title&keyword='+quote(gbkmovie)

#将gbk格式的内容,转为url,然后和前半部分的网址拼接起来。

res =requests.get(urlmovie)

#下载水形物语的搜索页面

bsmovie = bs4.BeautifulSoup(res.text,'html.parser')

#解析网页。

link = bsmovie.select('.co_content8 b a')

#查找目标。

finallink = 'http://www.ygdy8.com' + link[0].get('href')

#得到电影下载页的地址。

xiazai = requests.get(finallink).content.decode('gbk')

#使用requests模块,拿到电影下载页的源代码。使用content方法,拿到bytes数据,再进行decode,此时xiazai是字符串。

bsxiazai = bs4.BeautifulSoup(xiazai,'html.parser')

#解析网页。因为此时的xiazai已经是字符串,所以不需要加text。

download = bsxiazai.select('table tbody tr td a')

#查找目标。

for x in download:

print (x.get('href'))

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐