鱼C论坛

 找回密码
 立即注册
查看: 3403|回复: 16

[已解决]求助!爬虫遇到docement!!!

[复制链接]
发表于 2023-1-3 19:05:40 | 显示全部楼层 |阅读模式
10鱼币
本帖最后由 学习编程中的Ben 于 2023-1-3 20:08 编辑

贯串我平常的原则,先文字描述问题:


在我爬取http://www.woyaotingshu.com//play/5440-0-1.html这个网站时
它的mp3文件地址

下图所指箭头即我要求的文件,很长,就不放了



                               
登录/注册后可看大图



根据我的代码,已经能爬到<iframe>这里了,
但在#documentt这一行,里面的代码被隐藏了,不信你们去爬爬看
如何获取到#document里面的内容?


我的代码:
from lxml import html
from requests_html import HTMLSession

# 书的地址
url="http://www.woyaotingshu.com//play/5440-0-1.html"


# 创建会话
session = HTMLSession()
# UA伪装,防止反爬
headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
                      " (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"
    }
r = session.get(url=url, headers=headers)
if r.status_code == 200:
    r.html.render()
    r.html.encoding = 'utf-8'
    print(r.html.html)
    class_wp = r.html.xpath('.//script[@type="text/javascript"]')
    print(class_wp)   #  输出网页源码


谁来救救孩子啊?

@Twilight6 @Hello. @青出于蓝 @嘉岳呀 @人造人
最佳答案
2023-1-3 19:05:41
非要给我最佳吗?上面好多人也给你解决了问题,你也可以设置他们最佳的,^_^
不过为什么你@我,我没有收到提醒?
你@的下面没有下划线,应该是你没有成功@到我吧

最佳答案

查看完整内容

非要给我最佳吗?上面好多人也给你解决了问题,你也可以设置他们最佳的,^_^ 不过为什么你@我,我没有收到提醒? 你@的下面没有下划线,应该是你没有成功@到我吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-3 19:05:41 | 显示全部楼层    本楼为最佳答案   
非要给我最佳吗?上面好多人也给你解决了问题,你也可以设置他们最佳的,^_^
不过为什么你@我,我没有收到提醒?
你@的下面没有下划线,应该是你没有成功@到我吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-3 19:43:51 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-3 19:56:25 | 显示全部楼层
大佬们,救命啊!!!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-3 19:56:49 | 显示全部楼层
@不二如是 求大佬指教
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-3 19:57:51 | 显示全部楼层
求大佬指教

@不二如是
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-3 20:05:35 | 显示全部楼层
是document,把单词打对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-4 10:04:45 | 显示全部楼层
本帖最后由 suchocolate 于 2023-1-4 10:06 编辑

把html码源文件保存一下,看看有没有你说的document,有可能是浏览器渲染出来的,实际直接get不到。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-4 10:38:30 | 显示全部楼层
url="http://t3344t.tingchina.com/yousheng/%E7%A7%91%E5%B9%BB%E6%9C%89%E5%A3%B0/%E5%90%9E%E5%99%AC%E6%98%9F%E7%A9%BA_%E5%8D%8E%E9%A3%8E%E7%A5%9E%E9%9F%B5/001%E7%AC%AC1%E7%AF%87%E7%AC%AC1%E9%9B%86%E7%AC%AC01%E7%AB%A0_%E7%BD%97%E5%B3%B0.mp3?key=714a82ef7a048ec3fb0158857b1c2f00_694472778"
import requests
data=requests.get(url).content
with open("1.mp3","wb") as f:
    f.write(data)
print("over...")    
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-4 10:42:28 | 显示全部楼层
学习编程中的Ben 发表于 2023-1-3 19:56
大佬们,救命啊!!!!

下载的mp3可以正常收听  测试over......
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-4 10:53:28 | 显示全部楼层
suchocolate 发表于 2023-1-4 10:04
把html码源文件保存一下,看看有没有你说的document,有可能是浏览器渲染出来的,实际直接get不到。

人造人大佬已经给我解决完了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-4 11:09:36 | 显示全部楼层
@人造人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-4 11:10:03 | 显示全部楼层
大佬,回一下
@人造人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-4 11:16:22 | 显示全部楼层
本帖最后由 阿奇_o 于 2023-1-4 11:23 编辑

似乎没啥难度,直来直去,即可
import requests, re

response = requests.get('https://www.woyaotingshu.com/play/5440-0-1.html')
# response.text  # 看看,直接就有播放器的请求地址

html = response.text
ym = 'https://www.woyaotingshu.com'
url_jplayer = re.findall('<iframe .*?src="(/jplayer.*?)" width', html)[0]
res = requests.get(ym + url_jplayer)
# res.text  # 再看看,MP3音频资源url,也有

mp3 = re.findall('{mp3:"(http://.*?)",', res.text)[0]
res_mp3 = requests.get(mp3)
res_mp3.headers   # Content-Type 就是音频资源(MP3)
{'Content-Type': 'audio/mpeg', 'Last-Modified': 'Tue, 04 Jan 2011 16:00:00 GMT', 'Accept-Ranges': 'bytes', 'ETag': '"080b87028accb1:0"', 'Server': 'Microsoft-IIS/8.5', 'X-Powered-By': 'ASP.NET', 'Date': 'Wed, 04 Jan 2023 03:01:22 GMT', 'Content-Length': '4405125'}

# 保存MP3
with open('001第1篇第1集第01章_罗峰.mp3', 'wb') as f:
    f.write(res_mp3.content)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-5 19:24:00 | 显示全部楼层
@人造人
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2023-1-5 19:35:01 | 显示全部楼层
人造人 发表于 2023-1-3 19:05
非要给我最佳吗?上面好多人也给你解决了问题,你也可以设置他们最佳的,^_^
不过为什么你@我,我没有收到 ...

你最先给我答案的,当让要给你了。
实在很感谢,我的一个巨大项目在你的帮助下已经算完成一半!
能完整趴下一本小说了!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-1-5 19:36:43 | 显示全部楼层
学习编程中的Ben 发表于 2023-1-5 19:35
你最先给我答案的,当让要给你了。
实在很感谢,我的一个巨大项目在你的帮助下已经算完成一半!
能完整 ...

^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-9-25 01:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表