Python3 etree, requests库抓取bt
bt种子抓取
- 1. 抓取你想要的数据
- 2. 爬取bt种子
- 3. 抓取磁力链
迷上了追番.. . bt种子+xunlei来解决。
推荐一个网站https://mikanani.me。可以搜索你想要的动漫… 以bt的形式下载,或者复制磁力链。
1. 抓取你想要的数据
- 需要了解requests, etree库,etree用来解析html页面的。
- 需要了解html页面结构。能够分析页面,获取数据存放在dom中的规则。etree是以页面标签为一个个的对象的。需要etree的规则来匹配html元素结点。
- 爬虫为了解放手工,自动化收集数据。
2. 爬取bt种子
爬取斗罗大陆。
https://mikanani.me/Home/Search?searchstr=%E6%96%97%E7%BD%97%E5%A4%A7%E9%99%86
它应该是个单体项目,没看到有xhr请求。无需转包,发送请求,就响应整个页面。
分析网页
不难发现,是个表格,每个tr下的第四个td,为什么不是第三个,etree就是第四个,td下的第一个a标签中的href属性就是想要的数据了。
https://mikanani.me/Download/20210529/e20a447ed38b85b0e2717336d8980240e600ff46.torrent
完整代码
设置请求头。
import requests as req
from lxml import etreeimport urllib
import osresp = req.get('https://mikanani.me/Home/Search?searchstr=%E6%96%97%E7%BD%97%E5%A4%A7%E9%99%86')## print(resp.text)html = etree.HTML(resp.text)print(type(html), html)# 获取a标签, 放下载链接。
res = html.xpath('//tr[@class="js-search-results-row"]//td[4]//a')main_url = 'https://mikanani.me'header = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'}local_path = 'E:\python\crawler\mikanani\download'
def download_video(): i = 0;for a_tag in res:dict = eval(str(a_tag.attrib))download_url = main_url + dict.get('href')print(download_url + str(i) + '下载中..')# urllib.request.urlretrieve(download_url, os.path.join('', str(i) + '.torrent'))r = req.get(download_url, stream=True, headers = header)with open(os.path.join(local_path, str(i) + ".torrent"), "wb") as f:for chunk in r.iter_content(chunk_size=1024 * 1024):if chunk:f.write(chunk)i = i + 1print('下载完成.. 抓取个数..', len(res))if __name__ == "__main__":download_video()
3. 抓取磁力链
页面分析
数据绑定到data-clipboard-text这个属性。取到&前面就行了。
代码实现
# data-clipboard-textimport requests as req
from lxml import etreeimport osresp = req.get('https://mikanani.me/Home/Search?searchstr=%E6%96%97%E7%BD%97%E5%A4%A7%E9%99%86')## print(resp.text)html = etree.HTML(resp.text)print(type(html), html)res = html.xpath('//tr[@class="js-search-results-row"]//td[1]//a[2]')header = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36'}def download_video(): i = 0;for a_tag in res:dict = eval(str(a_tag.attrib))magent = dict.get('data-clipboard-text').split('&')[0]print(magent + '.. 写入文件...' + str(i))with open('斗罗大陆.txt', 'a+') as f:f.write(magent + '\n')i = i + 1print('下载完成.. 抓取个数..', len(res))if __name__ == "__main__":download_video()
Python3 etree, requests库抓取bt相关推荐
- 利用requests库抓取猫眼电影排行
文章目录 1.抓取目标 2.准备工作 3.抓取分析 4.抓取首页 5.正则提取 6.写入文件 7.整合代码 8.分页爬取 9.运行结果 10.本节代码 最近刚开始了解爬虫,学习了一下基本库的使用.跟着 ...
- [229]python3的requests类抓取中文页面出现乱码的解决办法
这种乱码现象基本上都是编码造成的,我们要转到我们想要的编码,先po一个知识点,嵩天老师在Python网络爬虫与信息提取说到过的:response.encoding是指从HTTP的header中猜测的响 ...
- python 利用requests库抓取网站图片
截图放在下方: 我们来看下我们要的图片都在哪 框起来这些图就是我要的,数量多的不得了,看来这个网站积累了很久了,现在我们要用5分钟时间来拿到所有图片 接下来让我们看下源代码来解析一下这些图片的地址吧. ...
- 用requests获取网页源代码 python-Python3使用requests包抓取并保存网页源码的方法
本文实例讲述了Python3使用requests包抓取并保存网页源码的方法.分享给大家供大家参考,具体如下: 使用Python 3的requests模块抓取网页源码并保存到文件示例: import r ...
- 通过python requests第三方库抓取淘宝商品名称和信息价格
项目名称:淘宝爬虫之抓取商品标题和价格信息 任务背景: 公司要求提取各电商平台的咖啡机的价格信息,在淘宝开放平台找不到合适的API..获取价格就是为了产品定价,和将来打价格战. 实现用到的库:requ ...
- 用python爬取qq空间内容_利用Fiddler抓包和py的requests库爬取QQ空间说说内容并写入文件...
[Python] 纯文本查看 复制代码#!C:\Program Files\Python36 python # -*- coding: UTF-8 -*- """ @au ...
- 手机版python3.6.6的requests库下载_Python爬虫之Python3.6 Requests库的基本使用方法
Python爬虫之Python3.6 Requests库的基本使用方法 未分类 在使用Python过程中,使用http处理各种请求是我们绕不过去的,在Python中开发爬虫用来抓取各种网络上的资源,就 ...
- python使用requests库爬取淘宝指定商品信息
python使用requests库爬取淘宝指定商品信息 在搜索栏中输入商品 通过F12开发者工具抓包我们知道了商品信息的API,同时发现了商品数据都以json字符串的形式存储在返回的html内 解析u ...
- python爬豆瓣电视剧_python requests库爬取豆瓣电视剧数据并保存到本地详解
首先要做的就是去豆瓣网找对应的接口,这里就不赘述了,谷歌浏览器抓包即可,然后要做的就是分析返回的json数据的结构: https://movie.douban.com/j/search_subject ...
- Python requests 多线程抓取 出现HTTPConnectionPool Max retires exceeded异常
Python requests 多线程抓取 出现HTTPConnectionPool Max retires exceeded异常 参考文章: (1)Python requests 多线程抓取 出现H ...
最新文章
- binlog开启和查看
- 第三周项目3-程序的多文件组织
- 学好python需要多久-python入门要学多久
- CCNA综合实验配置
- OV7725学习之SCCB协议(一)
- Haroopad安装与配置: Linux系统下最好用的Markdown编辑器
- php fpm在哪配置,php7的php-fpm.conf文件在哪里
- android系统手势app,8种iOS手势规定和14种android手势规定详解
- 汇编编译器以及 DOSBox0.74的安装使用(虚拟)64位
- Springboot+多线程+等待获取执行结果
- 阿里云服务器部署Java Web项目全过程
- 你应该知道的原型图工具Mockplus(摩客)
- QTcpServer和QTcpSocket使用详解
- 基于jquery读取csv
- java 帕斯卡_Java编程实现帕斯卡三角形代码示例
- 项目启东异常Failed to read candidate component class
- Unity 组合键输入及容易忽略的问题
- Java: 聚合数据API接口调用城市天气预报
- 机器码农:深度学习自动编程
- AutoJs学习-关于各种头条阅读自动赚金币的思路-实践中