鱼C论坛

 找回密码
 立即注册
查看: 2015|回复: 2

函数优化

[复制链接]
发表于 2020-3-8 17:30:46 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
有一个问题请教各位.从开始学python就一直不习惯试用函数.  可能是因为不够直接感性,感觉效率差不多.

所以近期打算评估一下用函数和不用函数在时间上有什么差异. 但是想改的时候,突然发现,不会了,

所以,请诸位大神根据我的代码,改成函数样式

(纯小白,获取某PT网站的资源,练习试用.cookie已更改)

代码如下:

  1. # coding:utf-8
  2. import os
  3. import re
  4. import time
  5. import requests
  6. from bs4 import BeautifulSoup
  7. n=0
  8. headers={
  9. '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',
  10. 'referer': 'https://pt.btschool.club/index.php',
  11. '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'
  12. }
  13. for i in range(170):
  14.     url='https://pt.btschool.club/torrents.php?inclbookmarked=0&incldead=1&spstate=0&page={}'.format(i)
  15.     res=requests.get(url,headers=headers)
  16.     res.encoding="utf-8"
  17.     urls=re.findall('</tr></table></td><td class="rowfollow"><b><a href="(.*?)&amp;cmtpage',res.text,re.S)
  18.     for url in urls:
  19.         print("正在计数:",n)
  20.         url=url.replace("amp;","")
  21.         url="https://pt.btschool.club/"+url
  22.         r = requests.get(url, headers=headers)
  23.         r.encoding = "utf-8"
  24.         html = r.text
  25.         soup = BeautifulSoup(html, "html.parser")
  26.         titleA = soup.find("a", class_="index").get_text()
  27.         titleB = soup.find("td", class_="rowfollow", valign='top').get_text()
  28.         size = re.findall("<b><b>大小:</b></b>(.*?)&nbsp;&nbsp;&nbsp;<b>类型:</b>", html, re.S)[0]
  29.         leixing = re.findall("<b>类型:</b>&nbsp;(.*?)&nbsp;&nbsp;&nbsp;<b>", html, re.S)[0]
  30.         downurl = soup.find_all("td", class_="rowfollow", valign="top", align="left")[3].find("a").get("href")
  31.         data = soup.find_all("div", id="kdescr")[0].get_text()
  32.         data = data.replace(
  33.             "免责声明 本站所有资源均为网友上传,仅供测试宽带所用,严禁用于商业用途,否则产生的一切后果将由您自己承担!本站将不对本站的资源负任何法律责任!如支持作品,请购买正版! 引用 您的保种是PT站长久发展的重要保证!只要片子在硬盘上不删,请自觉做到开机即做种!自觉保种可使资源的有效期无限延长、下载速度达到极限,同时也可以为你赚得上传流量和魔力值,方便你我他~快乐下载,分享至美!感谢您对比特校园PT的支持~",
  34.             "")
  35.         print(n, '即将记录__%s__这个文件' % titleA[11:21])
  36.         with open("PT_btshcool.txt", "a", encoding="utf-8") as f:
  37.             try:
  38.                 f.write(str(n))
  39.                 f.write("■")
  40.                 f.write(leixing)
  41.                 f.write("■")
  42.                 f.write(titleA)
  43.                 f.write("■")
  44.                 f.write(titleB)
  45.                 f.write("■")
  46.                 f.write(size)
  47.                 f.write("■")
  48.                 f.write(downurl)
  49.                 f.write("\n")
  50.                 n += 1
  51.                 with open("%s.txt" % titleA[11:], "w", encoding="utf-8") as f:
  52.                     f.write(data)
  53.                 time.sleep(2)
  54.             except:
  55.                 pass
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2020-3-8 17:35:34 | 显示全部楼层
本帖最后由 一个账号 于 2020-3-8 17:37 编辑

  1. # coding:utf-8
  2. import os
  3. import re
  4. import time
  5. import requests
  6. from bs4 import BeautifulSoup

  7. def func():
  8.     n=0
  9.     headers={
  10.     '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',
  11.     'referer': 'https://pt.btschool.club/index.php',
  12.     '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'
  13.     }
  14.     for i in range(170):
  15.         url='https://pt.btschool.club/torrents.php?inclbookmarked=0&incldead=1&spstate=0&page={}'.format(i)
  16.         res=requests.get(url,headers=headers)
  17.         res.encoding="utf-8"
  18.         urls=re.findall('</tr></table></td><td class="rowfollow"><b><a href="(.*?)&amp;cmtpage',res.text,re.S)
  19.         for url in urls:
  20.             print("正在计数:",n)
  21.             url=url.replace("amp;","")
  22.             url="https://pt.btschool.club/"+url
  23.             r = requests.get(url, headers=headers)
  24.             r.encoding = "utf-8"
  25.             html = r.text
  26.             soup = BeautifulSoup(html, "html.parser")
  27.             titleA = soup.find("a", class_="index").get_text()
  28.             titleB = soup.find("td", class_="rowfollow", valign='top').get_text()
  29.             size = re.findall("<b><b>大小:</b></b>(.*?)&nbsp;&nbsp;&nbsp;<b>类型:</b>", html, re.S)[0]
  30.             leixing = re.findall("<b>类型:</b>&nbsp;(.*?)&nbsp;&nbsp;&nbsp;<b>", html, re.S)[0]
  31.             downurl = soup.find_all("td", class_="rowfollow", valign="top", align="left")[3].find("a").get("href")
  32.             data = soup.find_all("div", id="kdescr")[0].get_text()
  33.             data = data.replace(
  34.                 "免责声明 本站所有资源均为网友上传,仅供测试宽带所用,严禁用于商业用途,否则产生的一切后果将由您自己承担!本站将不对本站的资源负任何法律责任!如支持作品,请购买正版! 引用 您的保种是PT站长久发展的重要保证!只要片子在硬盘上不删,请自觉做到开机即做种!自觉保种可使资源的有效期无限延长、下载速度达到极限,同时也可以为你赚得上传流量和魔力值,方便你我他~快乐下载,分享至美!感谢您对比特校园PT的支持~",
  35.                 "")
  36.             print(n, '即将记录__%s__这个文件' % titleA[11:21])
  37.             with open("PT_btshcool.txt", "a", encoding="utf-8") as f:
  38.                 try:
  39.                     f.write(str(n))
  40.                     f.write("■")
  41.                     f.write(leixing)
  42.                     f.write("■")
  43.                     f.write(titleA)
  44.                     f.write("■")
  45.                     f.write(titleB)
  46.                     f.write("■")
  47.                     f.write(size)
  48.                     f.write("■")
  49.                     f.write(downurl)
  50.                     f.write("\n")
  51.                     n += 1
  52.                     with open("%s.txt" % titleA[11:], "w", encoding="utf-8") as f:
  53.                         f.write(data)
  54.                     time.sleep(2)
  55.                 except:
  56.                     pass

  57. func()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-8 17:37:41 | 显示全部楼层

回帖奖励 +1 鱼币

直接包起来就行了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-7-1 06:43

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表