我美丽的汤刮刀没有按预期工作(代码片段)

author author     2023-05-12     553

关键词:

我想从以下网页中提取成分列表:

https://skinsalvationsf.com/2012/08/updated-comedogenic-ingredients-list/

所以我要拉的第一种成分是乙酰化羊毛脂,最后一种成分是棕榈酸辛酯。

查看此URL的页面源,我了解到成分列表的模式如下所示:

<td valign="top" width="33%">Acetylated Lanolin <sup>5</sup></td>

所以我写了一些代码来拉取列表,它给了我零结果。下面是代码。

import requests
r = requests.get('https://skinsalvationsf.com/2012/08/updated-comedogenic-ingredients-list/')
from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'html.parser')

results = soup.find_all('td', attrs='valign':'top')

当我尝试len(results)时,它给了我一个零。

我究竟做错了什么?为什么我无法按预期提取列表?我是网络刮刀的初学者。

答案

您的网络抓取代码正在按预期工作。但是,您的请求无效。如果您检查请求的状态代码,则可以看到您获得403状态。

r = requests.get('https://skinsalvationsf.com/2012/08/updated-comedogenic-ingredients-list/')
print(r.status_code) # 403

会发生什么是服务器不允许非浏览器请求。要使其工作,您需要在发出请求时使用标头。此标头应与浏览器发送的类似:

headers = 
    'User-Agent': ('Mozilla/5.0 (Windows NT 6.1; WOW64) '
                   'AppleWebKit/537.36 (KHTML, like Gecko) '
                   'Chrome/56.0.2924.76 Safari/537.36')


r = requests.get('https://skinsalvationsf.com/2012/08/updated-comedogenic-ingredients-list/', headers=headers)

from bs4 import BeautifulSoup
soup = BeautifulSoup(r.text, 'html.parser')
results = soup.find_all('td', attrs='valign':'top')
print(len(results))
另一答案

你的汤要求是禁止的。

因此,您无法抓取它。似乎网站正在阻止抓取。

print(soup)

<html>
<head><title>403 Forbidden</title></head>
<body bgcolor="white">
<center><h1>403 Forbidden</h1></center>
<hr/><center>nginx</center>
</body>
</html>

美丽的汤不认识按钮标签

】美丽的汤不认识按钮标签【英文标题】:BeautifulSoupnotrecognizingButtonTag【发布时间】:2014-07-1417:13:42【问题描述】:我目前正在Python2.7.6中尝试BeautifulSoup4现在,我有一个简单的脚本来抓取Soundcloud.com。我正在尝试打印页面上按钮... 查看详情

python美丽的汤(代码片段)

查看详情

美丽的汤 CSS 选择器没有找到任何东西

】美丽的汤CSS选择器没有找到任何东西【英文标题】:BeautifulSoupCSSselectornotfindinganything【发布时间】:2020-03-1521:11:09【问题描述】:我正在使用Python3。下面的代码应该让用户在命令行中输入搜索词,然后搜索Google并运行结果页... 查看详情

python美丽的汤提取html元数据(代码片段)

我得到一些我不太明白的奇怪行为。我希望有人可以解释发生了什么。考虑这个元数据:<metaproperty="og:title"content="ThisistheTeslaSemitruck"><metaname="twitter:title"content="ThisistheTeslaSemitruck">该行成功找到所有“og”属性并返回一个... 查看详情

美丽的汤:“ResultSet”对象没有“find_all”属性?

】美丽的汤:“ResultSet”对象没有“find_all”属性?【英文标题】:BeautifulSoup:\'ResultSet\'objecthasnoattribute\'find_all\'?【发布时间】:2014-07-2907:09:54【问题描述】:我正在尝试使用BeautifulSoup刮一张简单的桌子。这是我的代码:importreq... 查看详情

使用美丽的汤刮痧多个url(代码片段)

我有一个数据框,其中一列包含超过4000个不同的文章URL。我已经实现了以下代码来从URL中提取所有文本,它似乎适用于一两个URL但不适用于所有URL。foriindf.url:http=urllib3.PoolManager()response=http.request('GET',i)soup=bsoup(response.data,'html.pars... 查看详情

如何在带有 BS4 的 HTML 代码中找到这个通用标签(美丽的汤)

】如何在带有BS4的HTML代码中找到这个通用标签(美丽的汤)【英文标题】:HowtofindthisgenerictaginsideaHTMLcodewithBS4(beautifulsoup)【发布时间】:2020-03-0205:49:57【问题描述】:我试图找到这个“通用”标签(只有一个“跨度”标签)。... 查看详情

为啥我的 javascript 代码没有按预期工作

】为啥我的javascript代码没有按预期工作【英文标题】:Whymyjavascriptcodeisnotworkingasexpected为什么我的javascript代码没有按预期工作【发布时间】:2021-12-1112:23:48【问题描述】:我正在尝试使用JavaScript验证文本字段。我有一个可用字... 查看详情

美丽的汤和提取价值

】美丽的汤和提取价值【英文标题】:Beautifulsoupandextractingvalues【发布时间】:2015-05-0805:01:53【问题描述】:如果您能给我一些指导,告诉我如何在使用beautifulsoup时获取下面的出生日期“1723年6月16日”,我将不胜感激。现在使... 查看详情

美丽的汤<p>参数

】美丽的汤<p>参数【英文标题】:BeautifulSoup<p>parameter【发布时间】:2017-09-0711:01:13【问题描述】:我正在尝试在donedeal上打印出每个项目的标题,并从我自己的蜘蛛中复制代码,该代码在Overclockers上运行良好,并相应地... 查看详情

美丽的汤,使用“findAll()”时完全匹配

】美丽的汤,使用“findAll()”时完全匹配【英文标题】:Beautifulsoup,exactmatchwhenusing"findAll()"【发布时间】:2018-05-2609:11:34【问题描述】:我正在使用python(3.5)、selenium(3.6)和beautifulsoup(4.6)抓取网站。我用来查找某个html标记... 查看详情

我的挤压功能没有按预期工作,我该怎么做才能修复这个功能?(代码片段)

我正在做的是创建一个名为Squeeze的函数,它接受两个字符数组并进行比较。如果数组1中的字符值与数组2相同,则该函数应将其从字符数组中删除。问题是,程序接受我的输入,但它不会删除在数组2中看到的数组1的类似值。我... 查看详情

美丽的汤解析网页

】美丽的汤解析网页【英文标题】:Beautifulsoupparsingwebpage【发布时间】:2020-03-0517:36:53【问题描述】:我正在尝试使用BS抓取以下网页:https://www.racingpost.com。例如,我想提取所有课程名称。课程名称在此标签下:<spanclass="rh-ca... 查看详情

异步等待没有按预期工作,它必须返回我未来的结果

】异步等待没有按预期工作,它必须返回我未来的结果【英文标题】:asyncawaitnotworkingasexpected,itmustreturnmefutureresult【发布时间】:2019-08-0517:00:32【问题描述】:我的Future&Then代码运行良好。见下文:/*mainistheentrypointofcode*/voidmai... 查看详情

这段代码是关于选择排序的,但是当我运行代码时它没有按预期工作

】这段代码是关于选择排序的,但是当我运行代码时它没有按预期工作【英文标题】:ThiscodeisaboutSelectionsortingbutwhenirunthecodeitisnotworkingasexpected【发布时间】:2022-01-1911:27:42【问题描述】:该程序仅在否时有效。ofelements为2如果超... 查看详情

javascript typeof null 没有按预期工作

】javascripttypeofnull没有按预期工作【英文标题】:javascripttypeofnullisntworkingasexpected【发布时间】:2020-11-2523:07:11【问题描述】:我有一个对象对象,其中每个对象都有一个键和一个数组作为值。这就是我所拥有的image。我在每个数... 查看详情

美丽的汤 KeyError 'href' 但肯定存在

】美丽的汤KeyError\\\'href\\\'但肯定存在【英文标题】:BeautifulSoupKeyError\'href\'butthedefinitelyexist美丽的汤KeyError\'href\'但肯定存在【发布时间】:2021-09-2321:35:31【问题描述】:试图从网站中提取所有链接。我得到“KeyError:\'href\'”,... 查看详情

isKindOfClass 没有按预期工作

】isKindOfClass没有按预期工作【英文标题】:isKindOfClassdoesn\'tworkasexpected【发布时间】:2012-09-1210:30:25【问题描述】:我正在开发一个iOS5+项目(xcode4.4.1SDK5.1)我在单元测试中有这段代码:[_appDelegateapplication:nildidFinishLaunchingWithOpti... 查看详情