a5.gif

keoki

GF  2020-11-28 16:34
(一些脚本:https://bbs.imoutolove.me/read.php?tid=1353704)

分享可以免费白嫖某个福利网站的方法(更新了爬虫,有兴趣老哥可以尝试爬取资源)

更新,爬虫贴出来了,试爬取了前100页列表的1000个资源,结果见帖中附件:
https://bbs.level-plus.net/u.php?action-topic-uid-1156494.html




https://www.flhk.xyz/




偶然发现这个福利网站的的资源下载链接存在于HTML源码中,只不过页面没有显示出来:



这里点击CTRL + U打开页面源码,可以看到在<meta>标签里有下载链接和解压密码:




下面这一行:
复制代码
  1. <meta name="description" content="下载地址: https://pan.baidu.com/s/1gmKSva8pgMnwrr6vlD6_gw 提取码:nj26 解压密码:4956(下载完后缀名改成zip)">


这个站的资源还挺多的,如果哪位想的话,写个简单的爬虫就可以把整个站的资源都抓下来,不知道这个漏洞能用多久,毕竟挺低级的,估计站长不太懂技术,一键搭建WordPress网站。

各位抓紧了      
 
 



更新爬虫,有兴趣老哥可以尝试爬取资源,测试爬取5页所有资源用时14秒。

复制代码
  1. import asyncio
  2. from lxml import etree
  3. # import re
  4. import aiohttp
  5. import time
  6. # import uvloop
  7. import tqdm
  8. base_url = 'https://www.flhk.xyz/page/{}'
  9. # work_lst = []
  10. # asyncio.set_event_loop_policy(uvloop.EventLoopPolicy())
  11. async def get_dir_page(page, session):
  12.     try:
  13.         async with session.get(url=base_url.format(page)) as resp:
  14.             text = await resp.text(encoding='utf-8')
  15.             return text
  16.     except:
  17.         return None
  18. async def get_link_passwd(href, title, session):
  19.     async with session.get(href) as resp:
  20.         text = await resp.text(encoding='utf-8')
  21.         html = etree.HTML(text)
  22.         meta_descrp = html.xpath('//meta[@name="description"]/@content')
  23.         if meta_descrp:
  24.             link_and_passwd = meta_descrp[0]
  25.             print('Get link and passwd:\n{} \n  {} {}'.format(
  26.                 link_and_passwd, title, href))
  27.             return title, href, link_and_passwd
  28.         else:
  29.             print('No download link available for {} {}'.format(title, href))
  30. async def Main():
  31.     start = time.time()
  32.     # global work_lst
  33.     async with aiohttp.ClientSession() as session:
  34.         tasks = [get_dir_page(page, session) for page in range(1, 5)]
  35.         for rslt in tqdm.tqdm(asyncio.as_completed(tasks), total=len(tasks)):
  36.             text = await rslt
  37.             if text:
  38.                 html = etree.HTML(text)
  39.                 ajax_load_divs = html.xpath(
  40.                     '//div[@class="ajax-load-con content wow fadeInUp"]')
  41.                 sub_tasks_lst = []
  42.                 for div in ajax_load_divs:
  43.                     h2 = div.xpath('.//h2')[0]
  44.                     href = h2.xpath('./a/@href')[0]
  45.                     title = h2.xpath('./a/@title')[0]
  46.                     sub_tasks_lst.append((href, title, session))
  47.                 sub_tasks = [get_link_passwd(*tp) for tp in sub_tasks_lst]
  48.                 for f in asyncio.as_completed(sub_tasks):
  49.                     rslt_tp = await f
  50.                     if rslt_tp:
  51.                         with open("link_passwds.txt", "a+",
  52.                                   encoding='utf-8') as file:
  53.                             file.write(rslt_tp[1] + ": " + rslt_tp[0] + '\n')
  54.                             file.write(rslt_tp[2] + '\n')
  55.                             file.write('\n')
  56.     end = time.time()
  57.     total_secs = end - start
  58.     print('total_secs:', total_secs)
  59.     return 'done'
  60. loop = asyncio.get_event_loop()
  61. try:
  62.     rslt = loop.run_until_complete(Main())
  63.     print(rslt)
  64. finally:
  65.     loop.close()


结果示意:





最后安利一下 (更新2020/11/28) 自己写的直播录制工具(支持斗鱼,b站, 虎牙), 可抓取显示弹幕
https://bbs.level-plus.net/read.php?tid-1017998.html
欢迎各位测试

1306584.jpg

l8239402

B1F  2020-11-28 17:33
(l8239402)
然而特么链接挂了