用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - python代码库

python网络数据采集11 下载所有src链接

2016-07-06 作者: ME80举报

[python]代码库

from urllib.request import urlretrieve
from urllib.request import urlopen
from bs4 import BeautifulSoup
import os

downloadDirectory = "download"
baseUrl = "http://www.pythonscraping.com/"

def getAbsoluteURL(baseUrl,source):
    if source.startswith("http://www."):
        url = "http://"+source[11:] # 例如http://orielly.com
    elif source.startswith("http://"):
        url = source
    elif source.startswith("www."):
        url = "http://"+source[4:]
    else:
        url = baseUrl+"/"+source
    if baseUrl not in url:
        return None
    return url

def getDownloadPath(baseUrl,absoluteUrl,downloadDirectory):
    path = absoluteUrl.replace("www.","") # 例如 http://orielly.com
    path = path.replace(baseUrl,"") # 去掉http://www.pythonscraping.com/
    path = downloadDirectory + path
    directory = os.path.dirname(path) # 获取文件路径所在的目录
    if not os.path.exists(directory): # os.path.exists是否存在次目录,存在就返回True
        os.mkdir(directory)
    return path

html = urlopen("http://www.pythonscraping.com/")
bsObj = BeautifulSoup(html,'html.parser')
downloadList = bsObj.findAll(src = True) # 找到所有的src的值?

for download in downloadList:
    fileUrl = getAbsoluteURL(baseUrl,download["src"])
    if fileUrl is not None:
        print(fileUrl)
        urlretrieve(fileUrl,getDownloadPath(baseUrl,fileUrl,downloadDirectory))


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...