通过请求请求的HTML内容与浏览器不同
问题描述:
我想从使用python beautifulsoup库的网站html中提取几个元素。问题是来自响应的HTML与我在浏览器上看到的不同。这里是代码:通过请求请求的HTML内容与浏览器不同
import requests
from bs4 import BeautifulSoup
import pandas as pd
url = 'https://www.nutritionix.com/brands/restaurant'
resp = requests.get(url,verify=True)
soup = BeautifulSoup(resp.content)
我已经尝试使用urllib库,并使用浏览器代理参数,但它没有奏效。
有关如何解决此问题的任何建议?
答
该页面是由javascript生成的。
尝试使用萤火虫或谷歌开发工具。 enter image description here
你想要的数据实际上是从 https://d1gvlspmcma3iu.cloudfront.net/brands-restaurant.json.gz
感谢您的帮助!是否有一种方法可以从上面生成的页面中获取数据?我想进入每家餐厅,并获得菜单项目列表。 – Gunners4Ever
是的。餐馆网址的模式就像 – uonlyYOLOonce
就像https://www.nutritionix.com/brand/NAME-OF-RESUTRANT/products/THIS-IS-THE-{ID}-YOU-GOT-FROM-THE-AJAX -CALL(aka ..从此网址https://d1gvlspmcma3iu.cloudfront.net/brands-restaurant.json.gz) – uonlyYOLOonce