鱼C论坛

 找回密码
 立即注册
查看: 1895|回复: 8

[已解决]初学爬虫。网站找不到想要的信息

[复制链接]
发表于 2021-11-20 13:42:04 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 sayangrtg 于 2021-11-21 18:54 编辑

求教各位大神,小弟在尝试飞利浦照明的网站https://www.philips-hue.com/zh-cn/products/all-products
read html后似乎只是返回这个网站上半部分的内容。 而下面各个产品的名字似乎完全不在返回的内容里。这是怎么回事呢?

代码也就是普通的提取网页HTML如下。

import requests
from bs4 import BeautifulSoup as soup

url = 'https://www.philips-hue.com/zh-cn/products/all-products'
header = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)\
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36',
'referer':'https://www.philips-hue.com/zh-cn/'}
r = requests.get(url,headers = header)
page_html = r.content
page_soup = soup(page_html,'html.parser')

然后用beautifulsoup尝试各种attribute都找不到图中各产品信息,用html viewer 才发现返回的似乎只是网站上各个目录的链接,并没有底下的产品名字及其链接。

我的目的就是类似于爬妹子图一样,先爬取所有产品的URL,然后再依次进入该URL来爬取对应的产品详细信息。但所有产品的URL在返回的HTML内容里找不到。
求解。。。?
最佳答案
2021-11-22 10:25:38
通过抓包,结果应该是在其他请求中,而不是首页,接口地址应该是这个https://api.webcontent.signify.c ... &hidePrice=true

找不到各产品信息

找不到各产品信息

HTML VIEWER显示返回的只是各种标题

HTML VIEWER显示返回的只是各种标题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-11-20 19:10:00 | 显示全部楼层
所以你的代码在哪里?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-21 18:56:01 | 显示全部楼层
本帖最后由 sayangrtg 于 2021-11-21 18:58 编辑
suchocolate 发表于 2021-11-20 19:10
所以你的代码在哪里?


你好,我想编辑我的主题然后发现它消失了, 只能 这样回复你。
求教各位大神,小弟在尝试飞利浦照明的网站https://www.philips-hue.com/zh-cn/products/all-products
read html后似乎只是返回这个网站上半部分的内容。 而下面各个产品的名字似乎完全不在返回的内容里。这是怎么回事呢?

代码也就是普通的提取网页HTML如下。

import requests
from bs4 import BeautifulSoup as soup

url = 'https://www.philips-hue.com/zh-cn/products/all-products'
header = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)\
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.54 Safari/537.36',
'referer':'https://www.philips-hue.com/zh-cn/'}
r = requests.get(url,headers = header)
page_html = r.content
page_soup = soup(page_html,'html.parser')

然后用beautifulsoup尝试各种attribute都找不到图中各产品信息,用html viewer 才发现返回的似乎只是网站上各个目录的链接,并没有底下的产品名字及其链接。

我的目的就是类似于爬妹子图一样,先爬取所有产品的URL,然后再依次进入该URL来爬取对应的产品详细信息。但所有产品的URL在返回的HTML内容里找不到。
求解。。。?

想要找的产品信息

想要找的产品信息

HTML VIEWER 发现返回的只是各种目录的链接

HTML VIEWER 发现返回的只是各种目录的链接
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-22 10:25:38 | 显示全部楼层    本楼为最佳答案   
通过抓包,结果应该是在其他请求中,而不是首页,接口地址应该是这个https://api.webcontent.signify.c ... &hidePrice=true
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-22 15:14:48 | 显示全部楼层
快速收敛 发表于 2021-11-22 10:25
通过抓包,结果应该是在其他请求中,而不是首页,接口地址应该是这个https://api.webcontent.signify.com/p ...

谢谢,我不懂什么是抓包,抓包不是Python的内容吧?
请问我是不是就应该直接用你找到的这个接口地址,然后用正则表达式找到所有产品的URL?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-22 16:31:04 | 显示全部楼层
sayangrtg 发表于 2021-11-22 15:14
谢谢,我不懂什么是抓包,抓包不是Python的内容吧?
请问我是不是就应该直接用你找到的这个接口地址,然 ...

返回结果是json字符串,可以转化为python字典对象,然后键值对取值就可以吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-22 16:33:56 | 显示全部楼层
快速收敛 发表于 2021-11-22 16:31
返回结果是json字符串,可以转化为python字典对象,然后键值对取值就可以吧

浏览器自带抓包,你可以网上搜索相关资料,chrome浏览器可以F12打开控制台进行调试请求
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2021-11-23 07:56:22 | 显示全部楼层
快速收敛 发表于 2021-11-22 16:33
浏览器自带抓包,你可以网上搜索相关资料,chrome浏览器可以F12打开控制台进行调试请求

谢谢。可惜点进具体产品网页之后比如https://www.philips-hue.com/zh-c ... downlight/5110531H5, 用浏览器抓包也找不到产品具体规格信息的来源URL了。可能是我能力有限
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2021-11-23 10:00:24 | 显示全部楼层
sayangrtg 发表于 2021-11-23 07:56
谢谢。可惜点进具体产品网页之后比如https://www.philips-hue.com/zh-cn/p/hue-white-ambiance-garnea-hu ...

多分析分析,每个请求都看一下,肯定有个请求是的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-12 18:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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