不可能刮在R的网页,403禁止的错误得到

2024-03-29 13:02:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试刮取此网页:link

从stackoverflow的问题出发,我尝试了用python(change proxychange agent等)提出的几个建议,但无法获得状态代码200。你知道吗

这是我最后的密码:

url<-"https://www.idealista.com/venta-viviendas/madrid-provincia/"
GET(url,add_headers("accept"= "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3",
                    "accept-encoding"= "gzip, deflate, br",
                    "accept-language"= "es-ES,es;q=0.9,en;q=0.8",
                    "sec-fetch-mode"= "navigate",
                    "sec-fetch-site"= "none",
                    "sec-fetch-user"= "?1",
                    "upgrade-insecure-requests"= "1",
                    "user-agent"= "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36"))

我添加了所有的网页标题,但我总是得到相同的。你知道吗

无论是在R还是Python中,我们都非常感谢您的帮助。你知道吗

提前谢谢。你知道吗


Tags: imageurl网页esapplicationlinkxmlsec
1条回答
网友
1楼 · 发布于 2024-03-29 13:02:22

我想前段时间我也遇到了类似的问题。如果我没记错的话,当我用浏览器访问这个网站时,它生成了一些cookies。当我使用urllib.request刮取站点时,需要在标题中包含一些cookie。你知道吗

你的问题是网站理想主义网站生成了大量的cookie,如下面的Firefox Web Developer存储检查器中所示。可能很难确定哪些cookie(如果有的话)需要包含在标题中。你知道吗

list of cookies

下面是Python中的代码。我想你也应该可以在R中添加cookies。您可能可以在浏览器的C:\Users\Danny\AppData\文件夹中的.txt文件中找到cookie。这样你就不必单独复制粘贴所有的cookies了。你知道吗

import urllib.request as req

opener = req.build_opener()
opener.addheaders.append(('Cookie', 'firstCookieName=chocolate&secondCookieName=oatmeal'))

注意:这就是我在刮取另一个站点时解决403问题的方法。希望它能为未来工作理想主义网站但我没办法确定。在这种情况下,我处理cookies和header的经验有限。也许其他用户可以提供额外的专业知识。祝你好运!

相关问题 更多 >