如何使用Python';什么要求?

如何使用Python';什么要求?,python,web-scraping,python-requests,Python,Web Scraping,Python Requests,我想从以下页面中获取营养数据: 我尝试了以下代码 import requests, bs4 res = requests.get('http://www.mysupermarket.co.uk/tesco-price-comparison/Fruit/Tesco_Gala_Apple_Approx_160g.html') 但是响应的文本与我用浏览器查看页面时看到的HTML不匹配 所以我不能用漂亮的汤来搜索它 如何修复此问题?您需要从res对象的.text属性中检索标记。然后,您的代码应为: i

我想从以下页面中获取营养数据:

我尝试了以下代码

import requests, bs4
res = requests.get('http://www.mysupermarket.co.uk/tesco-price-comparison/Fruit/Tesco_Gala_Apple_Approx_160g.html')
但是响应的文本与我用浏览器查看页面时看到的HTML不匹配

所以我不能用漂亮的汤来搜索它


如何修复此问题?

您需要从
res
对象的
.text
属性中检索标记。然后,您的代码应为:

import requests, bs4
res = requests.get('http://www.mysupermarket.co.uk/tesco-price-comparison/Fruit/Tesco_Gala_Apple_Approx_160g.html')
html = res.text

您需要从
res
对象的
.text
属性中检索标记。然后,您的代码应为:

import requests, bs4
res = requests.get('http://www.mysupermarket.co.uk/tesco-price-comparison/Fruit/Tesco_Gala_Apple_Approx_160g.html')
html = res.text

一个好的替代方法是由请求的同一作者使用新发布的请求HTML库

这样,您就可以像这样简单地解析HTML:

from requests_html import HTMLSession
session = HTMLSession()

r = session.get('https://python.org/')
sel = 'body > div.application-main > div.jumbotron.jumbotron-codelines > div > div > div.col-md-7.text-center.text-md-left > p'

print(r.html.find(sel, first=True).text)
请在酒店查看


谢谢。

一个好的替代方法是使用同一请求作者新发布的请求HTML库

这样,您就可以像这样简单地解析HTML:

from requests_html import HTMLSession
session = HTMLSession()

r = session.get('https://python.org/')
sel = 'body > div.application-main > div.jumbotron.jumbotron-codelines > div > div > div.col-md-7.text-center.text-md-left > p'

print(r.html.find(sel, first=True).text)
请在酒店查看


谢谢。

这是由于在不同浏览器上查看时html标记的方向不同而引起的问题。这是因为每个浏览器的用户代理不同

如果您想在浏览器中看到相同的文本,请使用SeleniumWebDriver。 它使用起来非常简单方便。 一旦你完成了,就把源代码拿出来,用漂亮的汤

如果您想了解如何实现selenium,请查看


即使遇到问题,也可以随时联系。

这是由于在不同浏览器上查看html标记时方向不同而产生的问题。这是因为每个浏览器的用户代理不同

如果您想在浏览器中看到相同的文本,请使用SeleniumWebDriver。 它使用起来非常简单方便。 一旦你完成了,就把源代码拿出来,用漂亮的汤

如果您想了解如何实现selenium,请查看

即使面临问题,也可以自由联系