盘搜搜项目是小东之前为了讲爬虫基础的一个实战完结项目,之前由于各种原因不能开源出来,现在把数据前后端全部公开出来,仅供学习参考,技术交流!
0x00 项目简介:
本项目如题所叙述,简而言之,就是一个搜集网盘数据,并提供在线搜索资源的一个项目,方便了那些苦于资源难寻,其他网站都是广告的朋友,本项目提供简单的关键词搜索,简洁的页面一目了然,同时对于web应用安全有做充分得过滤,保障在线服务的安全稳定。
0x01 环境需求:
1.PHP version > 5.4
2.MYSQL Database
3.python version 3.x
0x02 使用说明:
在本地搭建PHP环境,比如使用XAMPP
、PHPStudy
即可快速搭建,导入下方的lanzou.sql
(附件下载)到Mysql数据库
,配置好前端中的api.php
中的api地址为自己的即可。
前端搜索需要配置后数据库连接,在data/dblink.php
中填写好数据库连接信息
同理可搭建到在线服务上~
0x03 爬虫数据抓取:
这里就直接粘贴爬虫源码,注释也很清楚了,需要注意的是:
之前做爬虫项目爬了蓝走网盘160w+
的网盘资源,某些原因只能公开部分数据(大约36w+
)给大家了。
蓝奏网盘在我做网盘爬虫这个项目的时候,恰好关闭了接口,增加了反爬虫机制,(不知道是不是我的原因…)以至于大多数的什么网盘扫描器不能使用,包括本爬虫,开源只是为了给大家一个参考,若有独到见解,还望指导一二。
# 抓取蓝奏网盘资源+链接 # 作者: DYBOY 小东 # 时间:2017-09-15 #verion:1.1 #description:抓取蓝奏网盘的数据并存入数据库,便于数据的查找,后续将开发WEB端,进行网盘资源的搜索! import requests import pymysql import re import sys from bs4 import BeautifulSoup #以上作为基本引用 #连接数据库 try: db = pymysql.connect(host = '127.0.0.1',port = 3306,user = 'root',passwd = '',db = 'pan',charset='utf8') print('连接数据库成功') except Exception as e: print(e); cursor = db.cursor() #基础索引全局变量 id_num = 0 main_url = 'https://pan.lanzou.com/' #循环获取数据 #for num in range(670000,849604): for num in range(20630,849604): url = main_url + '1' + str(num) header = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'} #尝试获取网页数据 try: res = requests.get(url,headers = header,timeout = 5) except Exception as e: print('获取网页出错,跳过获取下一个...') res.encoding = 'utf-8'#编码转换 if res.status_code == 200: soup = BeautifulSoup(res.text,'html.parser') title = soup.select('title')[0].text[:-8] if len(title)>0: url_now = url id_num = id_num + 1 #正则匹配文件大小 guize = r'<span class="p7">文件大小:</span>(.*?)<br>' try: filesize = re.findall(guize,res.text)[0] except Exception as e: filesize = '未知大小' print(e) print('erro2') #构造sql语句 sql = "insert into lanzou4(name,link,size) values('%s','%s','%s');" %(title,url_now,filesize) #尝试写入数据库 try: cursor.execute(sql) db.commit() except Exception as e: print(e) num = num + 1 #print(id_num) if(num%5000 == 0): print('已经抓取5000条数据') print('ok!!!共抓取' + str(id_num) + '个资源')
0x04 开源说明:
本项目开源到Github,遵守开源协议,保留开发者的版权声明,既是对开发者劳动的尊重,也是对开发者开源项目的鼓励。希望国内的开源环境会越来越好!
0x05 预览地址:
0x06 开源地址:
https://github.com/dyboy2017/pansousou
0x07 附件:
项目所有文件打包:https://www.lanzous.com/b294693/
版权声明:《 [盘搜搜项目]网盘资源搜索 》为DYBOY原创文章,转载请注明出处!
最后编辑:2018-7-1 14:07:34
2018-08-07 17:34
2018-07-08 00:57
2018-07-05 12:08
2018-07-05 12:08