马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
有一个问题请教各位.从开始学python就一直不习惯试用函数. 可能是因为不够直接感性,感觉效率差不多.
所以近期打算评估一下用函数和不用函数在时间上有什么差异. 但是想改的时候,突然发现,不会了,
所以,请诸位大神根据我的代码,改成函数样式
(纯小白,获取某PT网站的资源,练习试用.cookie已更改)
代码如下:
# coding:utf-8
import os
import re
import time
import requests
from bs4 import BeautifulSoup
n=0
headers={
'cookie': '__cfduid=ddd8dd90defddd80d1b44a39e73fbeb371f1582866913; c_secure_uid=MzgzNDM%3D; c_secure_pass=be6febb679b71a73e7246d7e68cca7a1; c_secure_ssl=bm9wZQ%3D%3D; c_secure_tracker_ssl=eWVhaA%3D%3D; c_secure_login=bm9wZQ%3D%3D',
'referer': 'https://pt.btschool.club/index.php',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36 Edg/80.0.361.66'
}
for i in range(170):
url='https://pt.btschool.club/torrents.php?inclbookmarked=0&incldead=1&spstate=0&page={}'.format(i)
res=requests.get(url,headers=headers)
res.encoding="utf-8"
urls=re.findall('</tr></table></td><td class="rowfollow"><b><a href="(.*?)&cmtpage',res.text,re.S)
for url in urls:
print("正在计数:",n)
url=url.replace("amp;","")
url="https://pt.btschool.club/"+url
r = requests.get(url, headers=headers)
r.encoding = "utf-8"
html = r.text
soup = BeautifulSoup(html, "html.parser")
titleA = soup.find("a", class_="index").get_text()
titleB = soup.find("td", class_="rowfollow", valign='top').get_text()
size = re.findall("<b><b>大小:</b></b>(.*?) <b>类型:</b>", html, re.S)[0]
leixing = re.findall("<b>类型:</b> (.*?) <b>", html, re.S)[0]
downurl = soup.find_all("td", class_="rowfollow", valign="top", align="left")[3].find("a").get("href")
data = soup.find_all("div", id="kdescr")[0].get_text()
data = data.replace(
"免责声明 本站所有资源均为网友上传,仅供测试宽带所用,严禁用于商业用途,否则产生的一切后果将由您自己承担!本站将不对本站的资源负任何法律责任!如支持作品,请购买正版! 引用 您的保种是PT站长久发展的重要保证!只要片子在硬盘上不删,请自觉做到开机即做种!自觉保种可使资源的有效期无限延长、下载速度达到极限,同时也可以为你赚得上传流量和魔力值,方便你我他~快乐下载,分享至美!感谢您对比特校园PT的支持~",
"")
print(n, '即将记录__%s__这个文件' % titleA[11:21])
with open("PT_btshcool.txt", "a", encoding="utf-8") as f:
try:
f.write(str(n))
f.write("■")
f.write(leixing)
f.write("■")
f.write(titleA)
f.write("■")
f.write(titleB)
f.write("■")
f.write(size)
f.write("■")
f.write(downurl)
f.write("\n")
n += 1
with open("%s.txt" % titleA[11:], "w", encoding="utf-8") as f:
f.write(data)
time.sleep(2)
except:
pass
|