示例#1
0
def ListUserFolders(ProfileUrl):
    htmldata = request.ReqUrl(ProfileUrl)
    Username = GetUsername(htmldata)

    galleries_searchstring = "/usergallery.php"
    start = htmldata.find(galleries_searchstring)
    end = htmldata.find('"', start)

    GalsUrl = config.baseurl + htmldata[start:end]
    htmldata = request.ReqUrl(GalsUrl)

    j = 0
    k = 0

    folderid = ''
    Folders = []
    while (folderid != "folderid=-1"):
        j = htmldata.find("folderid=", k)
        k = htmldata.find('"', j)
        folderid = htmldata[j:k]
        J = j
        l = -1
        while (l == -1):
            J = J - 10
            l = htmldata[J:k].find("http:")

        FolderUrl = htmldata[l + J:k]

        if (folderid != "folderid=0" and len(folderid) > 0):
            n = htmldata.find(">", k)
            m = htmldata.find("<", n)
            FolderName = htmldata[n + 1:m]
            Folders += [[FolderName, FolderUrl]]

    return Username, Folders
示例#2
0
def GetImageUrl_xH(UrlList, UrlNum):
    ### get image source url (xHamster)
    PageContent = request.ReqUrl(UrlList[UrlNum])
    url_index = PageContent.find("class='slideImg'")
    url_start = PageContent.find("https://", url_index)
    url_end = PageContent.find("'", url_start)
    return PageContent[url_start:url_end]
示例#3
0
def GetImageUrl_IF(UrlList, UrlNum):
    ### get image source url (ImageFap)
    PageContent = request.ReqUrl(UrlList[UrlNum])
    url_index = PageContent.find('contentUrl')
    url_start = PageContent.find('http://', url_index)
    url_end = PageContent.find('"', url_start)
    return PageContent[url_start:url_end]
示例#4
0
def ListFolderGalleries(FolderUrl):
    htmldata = request.ReqUrl(FolderUrl)
    UserName = GetUsername(htmldata)
    FolderName = GetFolderName(htmldata)
    ### Added as per NewWorld's ticket on Sourceforge
    ### Resolves issues with folders > 25 galleries only doing first page
    ### https://sourceforge.net/p/imagefap-gallery-downloader/tickets/1/
    are_multiple_pages = bool(htmldata.find('&page='))
    if are_multiple_pages:
        matches = re.findall('&page=', htmldata)
        num_pages = len(matches) - 1

    Galleries = []
    j = 0
    k = 0
    while True:
        j = htmldata.find("/gallery/", k)
        if (j == -1): break
        k = htmldata.find('"', j)
        GalleryUrl = config.baseurl + htmldata[j:k]

        if not (GalleryUrl in Galleries):
            Galleries += [GalleryUrl]

    return RemoveBlank(UserName), RemoveBlank(FolderName), Galleries
示例#5
0
def GetImageList_IF(url, gid):
    ### returns list of images in ImageFap gallery page content
    UrlList = []

    PageContent = request.ReqUrl(url)

    p = 0

    while True:
        ### iterate through gallery pages
        index_begin = 0
        index_end = 0
        pics = []
        while True:
            ### find html entries with 'idx=' string indicating image link
            index_begin = PageContent.find('idx=', index_end)
            if (index_begin == -1): break

            index_end = PageContent.find('"', index_begin)
            i = index_begin
            while (PageContent[i] != '"'):
                i = i - 1
            pic = PageContent[i + 1:index_end]
            if (len(pic) > 1): pics += [str(config.baseurl) + pic]
        UrlList += pics

        np_url = NextPage_IF(PageContent, gid, p)

        if (np_url == 0):
            break
        else:
            url = np_url
            #print url
            p += 1
            PageContent = request.ReqUrl(url)
    return UrlList
示例#6
0
def OpenGallery(Gal_Url, urltype):
    ### get gallery title and list of image urls
    url = Gal_Url
    gid = GetGalleryId(url, urltype)
    PageContent = request.ReqUrl(url)

    ### read gallery title from html content
    GalTitle = GetGalleryTitle(PageContent, urltype)

    ### get image list from gallery page
    if (urltype == 3):
        UrlList = GetImageList_xH(url, gid)
    else:
        UrlList = GetImageList_IF(url, gid)

    return GalTitle, UrlList
示例#7
0
def GetImageList_xH(url, gid):
    ### returns list of images in xhamster gallery
    UrlList = []
    PageContent = request.ReqUrl(url)

    imglink_begin = 0
    imglink_end = 0
    pics = []

    while True:
        ### find location of image page link
        index_link = PageContent.find("gallery iItem ", imglink_end)
        if (index_link == -1): break
        imglink_begin = PageContent.find("href=", index_link) + 14
        imglink_end = PageContent.find("'", imglink_begin)
        pic1 = PageContent[imglink_begin:imglink_end]
        pic = "https://" + pic1
        if (len(pic) > 1): pics += [pic]
    UrlList += pics
    return UrlList