Python爬蟲批次下載電影連結

z_paul發表於2021-09-09

接下來很容易就解析出電影的ftp下載連結和磁力連結:

圖片描述

image

理論部分講解完成後,接下來的Python實現程式碼如下:

# -*- coding:utf-8 -*-import urllibimport urllib2import reimport requestsimport timeimport requestsimport requests_cache# User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64)# AppleWebKit/537.36 (KHTML, like Gecko)# Chrome/65.0.3325.181 Safari/537.36 OPR/52.0.2871.64requests_cache.install_cache('demo_cache')global fp
url = ''# url = ''user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'headers = {'User-Agent': user_agent}try:
    r = requests.get(url)    print type(r)    print r.status_code    print r.encoding

    html = requests.get(url, headers=headers).text
    html = html.encode(r.encoding)
    html = html.decode("gbk")
    content = html    # print content

    fp = open(unicode("temp_pachong.txt", 'utf-8'), 'w')  # 檔名不亂碼
    fp.write(content.encode('utf-8'))
    fp.close()    # <a href="/i/99901.html" class="ulink" title="2018年美國7.6分恐怖片《遺傳厄運》BD中英雙字">2018年美國7.6分恐怖片《遺傳厄運》BD中英雙字</a>
    pattern = re.compile('<b>.*?<a href="/i/(.*?).html" class="ulink" title="(.*?)">.*?</a>.*?</b>', re.S)
    items = re.findall(pattern, content)

    fp = open(unicode("電影天堂爬蟲.txt",'utf-8'),'w')  # 檔名不亂碼
    localtime=time.strftime('%Y-%m-%d-%H:%M:%S', time.localtime(time.time()))
    count=0
    fp.write("********************" + localtime +"********************".encode('utf-8') + 'n')    print '本頁總資源數為:' + str(len(items))    for item in items:
        count=count+1
        temp=str(count) + ":  " + item[1]        print temp
        fp.write(temp.encode('utf-8')+ 'n')
        temp='' + item[0] + '.html'
        print temp        #獲取下載連結
        url = temp
        r = requests.get(url)
        user_agent = 'Mozilla/5.0 (Windows NT 6.1; Win64; x64)'
        headers = {'User-Agent': user_agent}
        html = requests.get(url, headers=headers).text
        html = html.encode(r.encoding)
        html = html.decode("gbk")
        content = html        # print content
        link_temp = re.compile('<td style=".*?"><a href="(.*?)">.*?</a></td>', re.S)
        link = re.findall(link_temp, content)        print link[0]
        fp.write(link[0].encode('utf-8') + 'n')

    fp.write("********************" + localtime +"********************".encode('utf-8'))
    fp.close()except urllib2.URLError, e:    if hasattr(e, "code"):        print e.code    if hasattr(e, "reason"):        print e.reason
    fp.close()

實際效果如下:


圖片描述

view-source_https____i_99901.html.png



作者:看星星的天空
連結:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/75/viewspace-2819228/,如需轉載,請註明出處,否則將追究法律責任。

相關文章