被阻止从python中从网站抓取数据

时间:2020-04-15 14:22:05

标签: python web-scraping python-requests web-crawler data-science

我不熟悉网络抓取和构建爬虫,并且开始在杂货店网站上练习。

我一直在尝试从网站上爬网数据,并且无法访问超过三页,对于前三页,网站让我访问数据,但是此后我没有任何回应甚至有几秒钟,我也停止在浏览器上获得响应。该网站使用API​​来获取所有数据,所以我什至不能使用BeautifulSoup,我想到了使用硒,但那里也没有运气。 我正在使用python的请求库来获取要解析的数据和json。该网站要求使用post方法访问所有产品,因此我也要发送cookie,标头和参数,并在下一页中使用相同的cookie等。

如果有人遇到相同的情况并可能找到解决方法,我正在寻找一些一般性的答复。

谢谢。

1 个答案:

答案 0 :(得分:0)

您可以在此处取消屏蔽该网站。 (很抱歉,无法提供代码,因为没有我的位置信息可能无法执行该操作。因此,请尝试使用我说的方法来获取代码)。

  1. 在Google Chrome浏览器中打开该链接>依次按Ctrl + Shift + I>转到“网络”标签。在那儿,转到XMR并找到“详细信息”。看起来像:

enter image description here

  1. 右键单击它,将其复制为Bash Curl。
  2. 转到Curl to Requests,粘贴代码,然后按Enter。卷发被转换为请求。复制并运行。
  3. 在此,最后一行如下:
response = requests.post('https://www.kroger.com/products/api/products/details', headers=headers, cookies=cookies, data=data)

这完成了请求。 4.现在,在此之后,当我们提取所需内容时:

data = response.json() # saving as a dictionary

product = data['products'] # getting the product
  1. 现在,从这些抓取的数据中获取所需的一切。快乐编码:)