【JAVA】从0开始写DHT/磁力爬虫 05 INFOHASH转种子

拿到infohash之后我们要怎么获取infohash所关联的种子呢? 

通过种子库进行获取

如:http://www.thetorrent.org/   https://itorrents.org/

但是解析效果不是很理想 很慢。

这里我借用迅雷的一个插件来进行磁力转种子

 

 

这里只需要调用命令

MagnetEx.exe "magnet:?xt=urn:btih:infohash值" 即可获得磁力所对应的种子

下载的种子保存在

当前用户\AppData\Local\Temp\magnetex  目录下 然后进行解析即可

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的 DHT11 温湿度传感器 STM32 库函数的示例代码,使用 Keil MDK-ARM 开发环境,并在 STM32F103C8T6 微控制器上进行测试。注意,本代码仅供参考,实际应用中需要根据具体硬件平台和需求进行修改和优化。 ```c #include "stm32f10x.h" #include "dht11.h" #define DHT11_PORT GPIOA #define DHT11_PIN GPIO_Pin_0 static uint8_t dht11_data[5]; void DHT11_Init(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE); GPIO_InitStructure.GPIO_Pin = DHT11_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DHT11_PORT, &GPIO_InitStructure); GPIO_SetBits(DHT11_PORT, DHT11_PIN); } void DHT11_Start(void) { GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = DHT11_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DHT11_PORT, &GPIO_InitStructure); GPIO_ResetBits(DHT11_PORT, DHT11_PIN); Delay_us(18000); GPIO_SetBits(DHT11_PORT, DHT11_PIN); Delay_us(40); } uint8_t DHT11_Check(void) { uint8_t check = 0; uint8_t i; GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = DHT11_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DHT11_PORT, &GPIO_InitStructure); Delay_us(40); if (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == RESET) { while (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == RESET) ; for (i = 0; i < 8; i++) { while (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == SET) ; Delay_us(40); if (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == RESET) { check &= ~(1 << (7 - i)); } else { check |= (1 << (7 - i)); } while (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == RESET) ; } return check; } else { return 0xff; } } void DHT11_Read(void) { uint8_t i; GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = DHT11_PIN; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(DHT11_PORT, &GPIO_InitStructure); GPIO_SetBits(DHT11_PORT, DHT11_PIN); Delay_us(40); GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; GPIO_Init(DHT11_PORT, &GPIO_InitStructure); if (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == RESET) { while (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == RESET) ; for (i = 0; i < 5; i++) { dht11_data[i] = 0; } for (i = 0; i < 40; i++) { while (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == SET) ; Delay_us(40); if (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == RESET) { dht11_data[i / 8] &= ~(1 << (7 - i % 8)); } else { dht11_data[i / 8] |= (1 << (7 - i % 8)); } while (GPIO_ReadInputDataBit(DHT11_PORT, DHT11_PIN) == RESET) ; } if (dht11_data[4] == ((dht11_data[0] + dht11_data[1] + dht11_data[2] + dht11_data[3]) & 0xff)) { // Data is valid } else { // Data is invalid } } } ``` 在上述代码中,我们首先定义了 DHT11 使用的 GPIO 端口和引脚号,然后实现了 DHT11_Init、DHT11_Start、DHT11_Check 和 DHT11_Read 四个函数。具体功能如下: - DHT11_Init:初始化 DHT11,配置相关 GPIO 端口和引脚为输出模式。 - DHT11_Start:启动 DHT11,将引脚拉低并延时 18 毫秒,然后再拉高并延时 40 微秒。 - DHT11_Check:检查 DHT11 是否正确响应,返回检查结果(0 表示成功,0xff 表示失败)。 - DHT11_Read:读取 DHT11 的温湿度数据,将其存储在 dht11_data 数组中。 以上是一个简单的 DHT11 温湿度传感器 STM32 库函数的实现,仅供参考。在实际开发中,我们还需要根据具体应用场景进行优化和修改。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值