繁体   English   中英

为什么 Scrapy Udemy 给出响应 403 错误?

[英]Why Scrapy Udemy gives response 403 error?

我试图使用scrapy shell来查看页面的response.css结果。 我使用的简单代码片段是 response.css("title::text").extract()。 通常这应该给你网页的标题。 但我知道 Udemy 是不可能的。 另一方面,我将它用于亚马逊,并且运行良好。 任何意见?

scrapy shell "https://www.udemy.com/courses/search/?q=python&src=sac&kw=python"
response.css("title::text").extract()
['Access to this page has been denied.']

另一方面,下面的这个工作正常。

scrapy shell "https://www.amazon.com/s?k=garlic+press&crid=2DY5U90PELGKN&sprefix=garlic+pres%2Caps%2C286&ref=nb_sb_ss_i_1_11"

response.css("title::text").extract()
['Amazon.com: garlic press']

编辑:

scrapy shell --set=USER_AGENT='Mozilla/5.0' "https://www.udemy.com/courses/search/?q=python&src=sac&kw=python"
response.css("h4::text").extract()
[]

Udemy 试图阻止您使用自动化抓取。 它返回一个 HTTP 403 响应,在该响应的正文中有一些文本说明:

访问此页面已被拒绝,因为我们认为您正在使用自动化工具浏览网站。

当 HTTP 标头User-Agent值不是他们想要访问其内容的值时,他们就会阻塞。 幸运的是,标题可以被欺骗。

scrapy shell --set=USER_AGENT='Mozilla/5.0' "https://www.udemy.com/courses/search/?q=python&src=sac&kw=python"

应该可以工作(不过,我在这台机器上没有 python/scrapy,所以我没有测试)

编辑:我不确定规避他们的机器人保护的合法性......在使用此建议之前,请务必查看当地法律。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM