|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
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
复制代码 |
|