全球主机交流论坛

标题: tg bot api怎么发送原图? [打印本页]

作者: 深海空间    时间: 2021-12-23 08:18
标题: tg bot api怎么发送原图?
我把pixiv排行榜插图爬下来发到tg时,发现图片被压缩了,几M的文件被压缩成几百k,有啥办法不压缩嘛?
作者: 张国荣    时间: 2021-12-23 08:19
以文件格式发送?
作者: sagerking    时间: 2021-12-23 08:48
直接发送web链接呗,有预览,直接显示的都没有原图吧
作者: Liu`e    时间: 2021-12-23 09:05
不压缩 只能以文件形式发送,但是无法直接预览,
作者: etc小号    时间: 2021-12-23 09:07
https://baiyue.one/archives/1507.html

我最近研究tg自动发视频,用的这个里面的教程,你看看有没有帮助
作者: 深海空间    时间: 2021-12-23 09:13
Liu`e 发表于 2021-12-23 09:05
不压缩 只能以文件形式发送,但是无法直接预览,

确实,文档方式发送后能原图,但是预览的效果比图片方式发送要差。
作者: 深海空间    时间: 2021-12-23 09:14
张国荣 发表于 2021-12-23 08:19
以文件格式发送?

确实可以,不过观感不太好,哈哈

作者: 深海空间    时间: 2021-12-23 09:18
etc小号 发表于 2021-12-23 09:07
https://baiyue.one/archives/1507.html

我最近研究tg自动发视频,用的这个里面的教程,你看看有没有帮助 ...

试了一下,sendphoto没办法原图(可能是我没找到方法),senddocument才可以,不过显示效果不太好,要点进去才可以查看,楼上有图片
作者: 张国荣    时间: 2021-12-23 09:23
深海空间 发表于 2021-12-23 09:14
确实可以,不过观感不太好,哈哈

打点钱给Durov,让他给你开个SVIP,无损发图
作者: etc小号    时间: 2021-12-23 09:24
深海空间 发表于 2021-12-23 09:18
试了一下,sendphoto没办法原图(可能是我没找到方法),senddocument才可以,不过显示效果不太好,要点进 ...

大佬有爬图的代码吗,介意分享下不
作者: mjj天下第一    时间: 2021-12-23 09:37
每张图发两遍,一个发送图片,一个发送文档。既能预览还能原图下载。
作者: 深海空间    时间: 2021-12-23 09:54
本帖最后由 深海空间 于 2021-12-23 09:58 编辑
etc小号 发表于 2021-12-23 09:24
大佬有爬图的代码吗,介意分享下不


当然可以,还在学python,突然想爬一下pixiv所以就写了。
代码逻辑可能会比较差,你可以自己修修补补,现在是直接已文档的形式发送,哈哈。
目前还在修改,如果你要的话我到时候把改好的再发送一份给你
作者: etc小号    时间: 2021-12-23 10:06
深海空间 发表于 2021-12-23 09:54
当然可以,还在学python,突然想爬一下pixiv所以就写了。
代码逻辑可能会比较差,你可以自己修修补补,现 ...

我研究了下,搞了个极简版的,不过也算跑起来,下面应该加个定时任务就行

  1. TOKEN=XXXX:XXXXXXXXXXXXXX
  2. chat_ID=XXXXX
  3. cd /root/pixiv
  4. for i in /root/pixiv/PixivImage/*
  5. do   
  6. curl -F chat_id=$chat_ID -F document=@"$i" https://api.telegram.org/bot$TOKEN/sendDocument
  7. done
复制代码


这是我测试的tg频道

https://t.me/pixivc
作者: 深海空间    时间: 2021-12-23 10:23
mjj天下第一 发表于 2021-12-23 09:37
每张图发两遍,一个发送图片,一个发送文档。既能预览还能原图下载。

这也是个方法, 我本来想发一个预览图,然后下面把p站原图链接也发过去,但是p站似乎有防盗链,直接在浏览器打开原图链接会失败,403,得加上referer,但是在浏览器里加referer这就把我难住了
我用下面这样的链接访问时不行的。应该是加referer的方式不对
https://i.pximg.net/img-original/img/2021/12/20/08/11/06/94891967_p0.png?referer=https://www.pixiv.net
作者: 深海空间    时间: 2021-12-23 10:26
etc小号 发表于 2021-12-23 10:06
我研究了下,搞了个极简版的,不过也算跑起来,下面应该加个定时任务就行

你是把下载图片和发送tg分开操作了嘛,tg可以直接贴链接然后让tg自己下载,不用存一次本地在上传
作者: CMBCHINA    时间: 2021-12-23 10:27
深海空间 发表于 2021-12-23 10:23
这也是个方法, 我本来想发一个预览图,然后下面把p站原图链接也发过去,但是p站似乎有防盗链,直接在浏 ...

referer是header
你这是parma

一般是 -H "referer:https://www.pixiv.net" -H "token:xxxxx"
作者: 深海空间    时间: 2021-12-23 10:39
本帖最后由 深海空间 于 2021-12-23 10:41 编辑
CMBCHINA 发表于 2021-12-23 10:27
referer是header
你这是parma


脚本里去下载倒是可以正常下载;
目前的疑问就是:我要怎么在浏览器下载这个原图(已知原图链接)?
如果这个问题能解决的话,那我就打算直接把链接发到tg频道,然后看需求下载,这个时候,预览图是不是被压缩过我就不用管他了
作者: mikasa    时间: 2021-12-23 11:59
我想问问怎么爬pixiv
作者: 深海空间    时间: 2021-12-23 12:14
mikasa 发表于 2021-12-23 11:59
我想问问怎么爬pixiv

这个很简单,不用逆向JS之类的,直接把网页请求下来然后提取内容就行了
作者: mikasa    时间: 2021-12-23 12:22
深海空间 发表于 2021-12-23 12:14
这个很简单,不用逆向JS之类的,直接把网页请求下来然后提取内容就行了

https://mjj.022333.xyz/thread-943771-1-1.html
欸,我之前试过,请求网页不会获得网页主体内容啊
作者: mikasa    时间: 2021-12-23 12:29
tg发图会自动压缩,要避免这个只能以文件形式发送
作者: 深海空间    时间: 2021-12-23 13:38
mikasa 发表于 2021-12-23 12:22
https://mjj.022333.xyz/thread-943771-1-1.html
欸,我之前试过,请求网页不会获得网页主体内容啊 ...

我爬的是排行榜,所有内容都是直接在html页面的,不是js动态加载的。你爬的可能是其他页面,其他页面的话我还没试过(因为没需求)

https://www.pixiv.net/ranking.php?mode=daily&content=illust
作者: mikasa    时间: 2021-12-23 13:44
本帖最后由 mikasa 于 2021-12-23 13:47 编辑
深海空间 发表于 2021-12-23 13:38
我爬的是排行榜,所有内容都是直接在html页面的,不是js动态加载的。你爬的可能是其他页面,其他页面的话 ...


没错,我爬的就是日榜啊,从日榜页面拿到每个ranking_img_item的链接(/artwork/xxxxx这种),然后get请求获得的链接,从里面找图片地址,本来是放在div#root下面的一个div里的,但是下面这部分是js加载的,你可以直接get页面获取到这部分吗?
作者: 深海空间    时间: 2021-12-23 14:13
mikasa 发表于 2021-12-23 13:44
没错,我爬的就是日榜啊,从日榜页面拿到每个ranking_img_item的链接(/artwork/xxxxx这种),然后get请 ...

对,进去/artwork/xxxxx 哪个页面之后直接把整个页面请求下来,然后用这条re去匹配出原图地址。
re.findall('"original":"(.*?)"',get_img_page)[0]
作者: mikasa    时间: 2021-12-23 14:23
深海空间 发表于 2021-12-23 14:13
对,进去/artwork/xxxxx 哪个页面之后直接把整个页面请求下来,然后用这条re去匹配出原图地址。
re.finda ...

老哥能加个tg交流一下吗?
作者: 深海空间    时间: 2021-12-23 14:37
mikasa 发表于 2021-12-23 14:23
老哥能加个tg交流一下吗?

嗯,你pm下tg用户名,我加你
作者: etc小号    时间: 2021-12-23 21:07
深海空间 发表于 2021-12-23 10:26
你是把下载图片和发送tg分开操作了嘛,tg可以直接贴链接然后让tg自己下载,不用存一次本地在上传 ...

怎么做到让他直接下载
作者: 深海空间    时间: 2021-12-23 21:26
etc小号 发表于 2021-12-23 21:07
怎么做到让他直接下载

tg支持上传文件和发送链接,参数里的
photo=图片链接地址
就可以直接让tg服务器去下载了,不用存一次本地
作者: etc小号    时间: 2021-12-23 21:28
深海空间 发表于 2021-12-23 21:26
tg支持上传文件和发送链接,参数里的
photo=图片链接地址
就可以直接让tg服务器去下载了,不用存一次本地 ...

可以啊,绝了
作者: lithome    时间: 2021-12-23 21:35
深海空间 发表于 2021-12-23 09:54
当然可以,还在学python,突然想爬一下pixiv所以就写了。
代码逻辑可能会比较差,你可以自己修修补补,现 ...

请允许我点赞!
作者: MoeWang    时间: 2021-12-23 21:38
这个有点东西,哈哈哈,我只搞过手机版的修改,基于shaft的源代码
作者: etc小号    时间: 2021-12-23 21:45
深海空间 发表于 2021-12-23 21:26
tg支持上传文件和发送链接,参数里的
photo=图片链接地址
就可以直接让tg服务器去下载了,不用存一次本地 ...

感谢,解决了。全自动发视频

https://t.me/dyvideo
作者: 深海空间    时间: 2021-12-23 22:02
etc小号 发表于 2021-12-23 21:45
感谢,解决了。全自动发视频

https://t.me/dyvideo

你爬的是哪个站的?
作者: etc小号    时间: 2021-12-23 22:04
深海空间 发表于 2021-12-23 22:02
你爬的是哪个站的?

https://mm.diskgirl.com/




欢迎光临 全球主机交流论坛 (https://mjj.022333.xyz/) Powered by Discuz! X3.4