您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Python在网页上下载所有链接(相关文档)

使用Python在网页上下载所有链接(相关文档)

这是如何从http://pypi.python.org/pypi/xlwt下载一些选定文件的示例

您将需要先安装机械化:http ://wwwsearch.sourceforge.net/mechanize/download.html

    import mechanize
    from time import sleep
    #Make a Browser (think of this as chrome or firefox etc)
    br = mechanize.Browser()

    #visit http://stockrt.github.com/p/emulating-a-browser-in-python-with-mechanize/
    #for more ways to set up your br browser object e.g. so it look like mozilla
    #and if you need to fill out forms with passwords.

    # Open your site
    br.open('http://pypi.python.org/pypi/xlwt')

    f=open("source.html","w")
    f.write(br.response().read()) #can be helpful for debugging maybe

    filetypes=[".zip",".exe",".tar.gz"] #you will need to do some kind of pattern matching on your files
    myfiles=[]
    for l in br.links(): #you can also iterate through br.forms() to print forms on the page!
        for t in filetypes:
            if t in str(l): #check if this link has the file extension we want (you may choose to use reg expressions or something)
                myfiles.append(l)


    def downloadlink(l):
        f=open(l.text,"w") #perhaps you should open in a better way & ensure that file doesn't already exist.
        br.click_link(l)
        f.write(br.response().read())
        print l.text," has been downloaded"
        #br.back()

    for l in myfiles:
        sleep(1) #throttle so you dont hammer the site
        downloadlink(l)

注意:在某些情况下,您可能希望替换br.click_link(l)br.follow_link(l)。区别在于click_link返回一个Request对象,而follow_link将直接打开该链接

python 2022/1/1 18:28:12 有306人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶