初学爬虫。网站找不到想要的信息
本帖最后由 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内容里找不到。
求解。。。?
所以你的代码在哪里? 本帖最后由 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内容里找不到。
求解。。。? 通过抓包,结果应该是在其他请求中,而不是首页,接口地址应该是这个https://api.webcontent.signify.com/product-search/search/products/HUE/zh_CN?page=1&sort=relevance&source=magento-inhouse&hidePrice=true 快速收敛 发表于 2021-11-22 10:25
通过抓包,结果应该是在其他请求中,而不是首页,接口地址应该是这个https://api.webcontent.signify.com/p ...
谢谢,我不懂什么是抓包,抓包不是Python的内容吧?
请问我是不是就应该直接用你找到的这个接口地址,然后用正则表达式找到所有产品的URL? sayangrtg 发表于 2021-11-22 15:14
谢谢,我不懂什么是抓包,抓包不是Python的内容吧?
请问我是不是就应该直接用你找到的这个接口地址,然 ...
返回结果是json字符串,可以转化为python字典对象,然后键值对取值就可以吧 快速收敛 发表于 2021-11-22 16:31
返回结果是json字符串,可以转化为python字典对象,然后键值对取值就可以吧
浏览器自带抓包,你可以网上搜索相关资料,chrome浏览器可以F12打开控制台进行调试请求 快速收敛 发表于 2021-11-22 16:33
浏览器自带抓包,你可以网上搜索相关资料,chrome浏览器可以F12打开控制台进行调试请求
谢谢。可惜点进具体产品网页之后比如https://www.philips-hue.com/zh-cn/p/hue-white-ambiance-garnea-hue-white-ambience-downlight/5110531H5, 用浏览器抓包也找不到产品具体规格信息的来源URL了。可能是我能力有限 sayangrtg 发表于 2021-11-23 07:56
谢谢。可惜点进具体产品网页之后比如https://www.philips-hue.com/zh-cn/p/hue-white-ambiance-garnea-hu ...
多分析分析,每个请求都看一下,肯定有个请求是的
页:
[1]