最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python通過urllib2爬網(wǎng)頁上種子下載示例

 更新時間:2014年02月24日 14:43:33   作者:  
這篇文章主要介紹了通過urllib2、re模塊抓種子下載的示例,需要的朋友可以參考下

通過urllib2、re模塊抓種子

思路

1.用程序登錄論壇(如果需要登錄才能訪問的版塊)

2.訪問指定版塊

3.遍歷帖子(先取指定頁,再遍歷頁面所有帖子的url)

4.循環(huán)訪問所有帖子url,從帖子頁面代碼中取種子下載地址(通過正則表達式或第三方頁面解析庫)

5.訪問種子頁面下載種子

復制代碼 代碼如下:

import urllib
import urllib2
import cookielib
import re
import sys
import os

# site is website address | fid is part id
site = "http://xxx.yyy.zzz/"
source = "thread0806.php?fid=x&search=&page="

btSave = "./clyzwm/"
if os.path.isdir(btSave):
 print btSave + " existing"
else:
 os.mkdir(btSave)

logfile = "./clyzwm/down.log"
errorfile = "./clyzwm/error.log"
sucfile = "./clyzwm/sucess.log"

headers = {'User-Agent' : 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36', 
           'Referer' : 'http://xxx.yyy.zzz/'}

def btDown(url, dirPath):
 logger(logfile, "download file : " + url)
 try:
  #pageCode = urllib2.urlopen(url).read()
  #print pageCode
  btStep1 = re.findall('http://[\w]+\.[\w]+\.[\w]{0,4}/[\w]{2,6}\.php\?[\w]{2,6}=([\w]+)', url, re.I)
  #print btStep1
  if len(btStep1)>0:
   ref = btStep1[0]
   downsite = ""
   downData = {}
   if len(ref)>20:
    downsite = re.findall('http://www.[\w]+\.[\w]+/', url)[0]
    downsite = downsite + "download.php"
    reff = re.findall('input\stype=\"hidden\"\sname=\"reff\"\svalue=\"([\w=]+)\"', urllib2.urlopen(url).read(), re.I)[0]
    downData = {'ref': ref, 'reff':reff, 'submit':'download'}
   else:
    downsite = "http://www.downhh.com/download.php"
    downData = {'ref': ref, 'rulesubmit':'download'}
   #print "bt site - " +  downsite + "\n downData:"
   #print downData
   downData = urllib.urlencode(downData)
   downReq = urllib2.Request(downsite, downData)
   downReq.add_header('User-Agent','Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.77 Safari/537.36')
   downPost = urllib2.urlopen(downReq)
   stream = downPost.read(-1)
   if (len(stream) > 1000):
    downPost.close()
    name = btStep1[0]+ ".torrent"
    fw = open(dirPath + name, 'w')
    fw.write(stream)
    fw.close()
    logger(sucfile, url+"\n")
   else:
    logger(errorfile, url+"\n")
 except urllib2.URLError, e:
  print e.reason

def logger(logfile, msg):
 print msg
 fw = open(logfile, 'a')
 fw.write(msg)
 fw.close()

for i in range(1, 1000):
 logger(logfile, "\n\n\n@ page " + str(i) + " ...")
 part = site + source + str(i)

 content = urllib2.urlopen(part).read()
 content = content.decode('gbk').encode('utf8')
 #print content

 pages = re.findall('<a\s+href=\"(htm_data/[\d]+/[\d]+/[\d]+\.html).*?<\/a>', content,re.I)
 #print pages

 for page in pages:
  page = site + page;
  #logger(logfile, "\n# visiting " + page + " ...")
  pageCode = urllib2.urlopen(page).read()
  #print pageCode
  zzJump = re.findall('http://www.viidii.info/\?http://[\w]+/[\w]+\?[\w]{2,6}=[\w]+' ,pageCode)  
  #zzJump = re.findall('http://www.viidii.info/\?http://[\w/\?=]*', pageCode)
  if len(zzJump) > 0:
   zzJump = zzJump[0]
   #print "- jump page - " + zzJump
   pageCode = urllib2.urlopen(page).read()
   zzPage = re.findall('http://[\w]+\.[\w]+\.[\w]+/link[\w]?\.php\?[\w]{2,6}=[\w]+' ,pageCode)
   if len(zzPage) > 0:
    zzPage = zzPage[0]
    logger(logfile, "\n- zhongzi page -" + zzPage)
    btDown(zzPage, btSave)
   else:
    logger(logfile, "\n. NOT FOUND .")
  else:
   logger(logfile, "\n... NOT FOUND ...")
  zzPage = re.findall('http://[\w]+\.[\w]+\.[\w]+/link[\w]?\.php\?ref=[\w]+' ,pageCode)

相關文章

  • Python字典創(chuàng)建 遍歷 添加等實用基礎操作技巧

    Python字典創(chuàng)建 遍歷 添加等實用基礎操作技巧

    字段是Python是字典中唯一的鍵-值類型,本文講述了Python中字典如何創(chuàng)建 遍歷 添加等實用基礎操作技巧,內(nèi)容非?;A但非常重要,一定要熟練掌握
    2018-09-09
  • wtfPython—Python中一組有趣微妙的代碼【收藏】

    wtfPython—Python中一組有趣微妙的代碼【收藏】

    Wtfpython講解了大量的Python編譯器的內(nèi)容。這篇文章主要介紹了wtfPython-Python中一些奇妙的代碼,感興趣的朋友跟隨腳本之家小編一起看看吧
    2018-08-08
  • Python OpenGL繪制一場煙花盛會

    Python OpenGL繪制一場煙花盛會

    正值新春佳節(jié),小編今天為大家?guī)砹擞肞ython OpenGL繪制的一場煙花盛會,文中的實現(xiàn)步驟講解詳細,感興趣的小伙伴可以跟隨小編一起動手試一試
    2022-02-02
  • Python基礎之numpy庫的使用

    Python基礎之numpy庫的使用

    這篇文章主要介紹了Python基礎之numpy庫的使用,文中有非常詳細的代碼示例,對正在學習python基礎的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • python抓取網(wǎng)頁內(nèi)容并進行語音播報的方法

    python抓取網(wǎng)頁內(nèi)容并進行語音播報的方法

    今天小編就為大家分享一篇python抓取網(wǎng)頁內(nèi)容并進行語音播報的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • python使用UDP實現(xiàn)客戶端和服務器對話

    python使用UDP實現(xiàn)客戶端和服務器對話

    這篇文章主要為大家介紹了python使用UDP實現(xiàn)客戶端和服務器對話示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • python中resample函數(shù)實現(xiàn)重采樣和降采樣代碼

    python中resample函數(shù)實現(xiàn)重采樣和降采樣代碼

    今天小編就為大家分享一篇python中resample函數(shù)實現(xiàn)重采樣和降采樣代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Python實現(xiàn)各種郵件發(fā)送

    Python實現(xiàn)各種郵件發(fā)送

    這篇文章主要介紹了Python實現(xiàn)各種郵件發(fā)送,Python內(nèi)置對SMTP的支持,可以發(fā)送純文本郵件、HTML郵件以及帶附件的郵件,下文詳細實現(xiàn)過程需要的小伙伴可以參考一下
    2022-05-05
  • 使用Python創(chuàng)建自助搶單插件的完整步驟

    使用Python創(chuàng)建自助搶單插件的完整步驟

    文章介紹了如何使用Python編寫一個自助搶單插件,該插件可以幫助用戶監(jiān)控特定網(wǎng)站上的商品信息,并在條件滿足時自動下單,文章涵蓋了從項目概述、技術架構(gòu)、項目流程到環(huán)境準備、網(wǎng)絡請求、數(shù)據(jù)解析、用戶界面設計和定時任務的詳細步驟
    2024-11-11
  • 使用Python讀取json文件的方法小結(jié)

    使用Python讀取json文件的方法小結(jié)

    這篇文章主要給大家介紹了Python讀取json文件的方法,使用python讀取json文件,輸出結(jié)果為字符串或python對象,文中有詳細的代碼示例和圖解,感興趣的小伙伴可以自己動手試一試
    2023-09-09

最新評論

科技| 财经| 屏东县| 蒙山县| 班玛县| 开原市| 宁都县| 平度市| 宁阳县| 高平市| 井研县| 凤台县| 肇东市| 长汀县| 西藏| 昭通市| 江达县| 鹤庆县| 建瓯市| 塔河县| 宜良县| 岑溪市| 洪洞县| 綦江县| 固镇县| 蚌埠市| 怀集县| 福海县| 东乡县| 沿河| 漠河县| 河东区| 曲阜市| 浦城县| 十堰市| 揭西县| 天水市| 罗田县| 长顺县| 宝鸡市| 兰西县|