用户输入喜欢的电影名字,程序即可在电影天堂https://www.ygdy8.com爬取电影所对应的下载链接,并将下载链接打印出来。
我写的这个功能很简单,只能打印出找到的第一个电影的下载链接。
import requests
from bs4 import BeautifulSoup
from urllib.request import quote
#quote()函数,可以帮我们把内容转为标准的url格式,作为网址的一部分打开
# 用户输入喜欢的电影名字,程序即可在电影天堂https://www.ygdy8.com爬取电影所对应的下载链接,并将下载链接打印出来。
#--------这个题主要就是转码比较麻烦-------------
name=input('你想看什么电影:')
gbk_name=name.encode('gbk') #将输入内容转成gbk格式
url='http://s.ygdy8.com/plus/so.php?typeid=1&keyword='+quote(gbk_name)
#将输入的gbk格式内容转成链接格式
res=requests.get(url)
#res.encoding='GBK' #这一步不要也可以
html=res.text
soup=BeautifulSoup(html,'html.parser')
try:
link=soup.find(class_="co_content8").find(width="55%").find('a')['href']
except AttributeError:
print('没有找到该影片相关信息!')
else:
link=soup.find(class_="co_content8").find(width="55%").find('a')['href']
print('https://www.ygdy8.com'+link)
这道练习题主要难在各种编码的转换上,本宝宝现在还没搞清楚各个编码的转换嘤嘤嘤...日后搞清楚编码了再回过头来看好了。