最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

python通过urllib2爬网页上种子下载示例

来源:动视网 责编:小采 时间:2020-11-27 14:30:06
文档

python通过urllib2爬网页上种子下载示例

python通过urllib2爬网页上种子下载示例:通过urllib2、re模块抓种子 思路 1.用程序登录论坛(如果需要登录才能访问的版块) 2.访问指定版块 3.遍历帖子(先取指定页,再遍历页面所有帖子的url) 4.循环访问所有帖子url,从帖子页面代码中取种子下载地址(通过正则表达式或第三方页面解析库) 5.访问
推荐度:
导读python通过urllib2爬网页上种子下载示例:通过urllib2、re模块抓种子 思路 1.用程序登录论坛(如果需要登录才能访问的版块) 2.访问指定版块 3.遍历帖子(先取指定页,再遍历页面所有帖子的url) 4.循环访问所有帖子url,从帖子页面代码中取种子下载地址(通过正则表达式或第三方页面解析库) 5.访问


通过urllib2、re模块抓种子

思路

1.用程序登录论坛(如果需要登录才能访问的版块)

2.访问指定版块

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

4.循环访问所有帖子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('', 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通过urllib2爬网页上种子下载示例

python通过urllib2爬网页上种子下载示例:通过urllib2、re模块抓种子 思路 1.用程序登录论坛(如果需要登录才能访问的版块) 2.访问指定版块 3.遍历帖子(先取指定页,再遍历页面所有帖子的url) 4.循环访问所有帖子url,从帖子页面代码中取种子下载地址(通过正则表达式或第三方页面解析库) 5.访问
推荐度:
标签: 下载 网页 download
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top