使用python解析相对链接和绝对链接
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了使用python解析相对链接和绝对链接,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2366字,纯文字阅读大概需要4分钟。
内容图文
它是一个下载图像,音频,视频等项目.
但在某些网站上,我发现没有完整的链接.只是相对路径.
所以我不知道如何获得这些相关链接.
我的完整项目是:
https://github.com/MuneebKalathil/MaD
这是我的示例链接,我想从此链接下载所有图像.有缩略图,但我不想要那些图像.如果单击缩略图,它将转到原始图像页面.我想下载那些图片
http://www.ragalahari.com/actress/14035/kajal-aggarwal-at-memu-saitham-dinner-with-stars.aspx
部分来源是:
<tr>
<td id='pagingCell'>
</td>
</tr>
<tr>
<td align='center'><div id='galdiv' style='float:center;margin-right:3px;;margin-bottom:3px'>
<a href='/actress/14035/kajal-aggarwal-at-memu-saitham-dinner-with-stars/image1.aspx' ><img src="http://imgcdn.raagalahari.com/nov2014/starzone/kajal-agarwal-memu-saitham/kajal-agarwal-memu-saitham1t.jpg" alt="Kajal Aggarwal" title="Kajal Aggarwal at Dine with Stars Memu Saitham"></a>
而且,我想首先得到一个相对链接地址:
/actress/14035/kajal-aggarwal-at-memu-saitham-dinner-with-stars/image1.aspx
并找到它的绝对路径.
解决方法:
定义基本URL,找到所有img标记,如果src属性值不以http开头,则使用urlparse.urljoin()加入基本URL和src.
例如,使用requests和BeautifulSoup:
from urllib.parse import urljoin
import requests
from bs4 import BeautifulSoup
base_url = 'http://www.ragalahari.com'
url = 'http://www.ragalahari.com/actress/14035/kajal-aggarwal-at-memu-saitham-dinner-with-stars.aspx'
soup = BeautifulSoup(requests.get(url).content)
for img in soup.find_all('img', src=True):
src = img.get('src')
if not src.startswith('http'):
src = urljoin(base_url, src)
print(src)
打印:
http://icdn.raagalahari.com/images/ragalaharilogo.png
http://www.ragalahari.com/images/helpicon.png
http://www.ragalahari.com/images/rssicon.png
http://www.ragalahari.com/images/twittericon.png
http://www.ragalahari.com/images/facebookicon.png
http://www.ragalahari.com/images/searchicon.png
http://imgcdn.raagalahari.com/nov2014/starzone/kajal-agarwal-memu-saitham/kajal-agarwal-memu-saitham1t.jpg
http://imgcdn.raagalahari.com/nov2014/starzone/kajal-agarwal-memu-saitham/kajal-agarwal-memu-saitham2t.jpg
http://imgcdn.raagalahari.com/nov2014/starzone/kajal-agarwal-memu-saitham/kajal-agarwal-memu-saitham3t.jpg
http://imgcdn.raagalahari.com/nov2014/starzone/kajal-agarwal-memu-saitham/kajal-agarwal-memu-saitham4t.jpg
...
更新(获取链接的部分代码):
for a in soup.select('div#galdiv a'):
link = a.get('href')
if not link.startswith('http'):
link = urljoin(base_url, link)
print(link)
内容总结
以上是互联网集市为您收集整理的使用python解析相对链接和绝对链接全部内容,希望文章能够帮你解决使用python解析相对链接和绝对链接所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。