Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 刮壳不会返回任何东西_Python_Html_Css_Web Scraping_Scrapy - Fatal编程技术网

Python 刮壳不会返回任何东西

Python 刮壳不会返回任何东西,python,html,css,web-scraping,scrapy,Python,Html,Css,Web Scraping,Scrapy,我想从中提取组织名称及其基本详细信息。我正在使用scrapy提取信息。我尝试使用scrapy shell提取第一个组织名称腾讯控股,并在scrapy shell中编写了scrapy命令 response.css('div.flex-no-grow.cb overflow省略号.标识符标签::text')。首先提取() 这个命令什么也不返回。我是一个网络报废新手。谁能帮我写下这个命令,或者纠正我哪里出错了?我已经检查了你的网站,它运行良好,但是有一个问题,就是刮壳。scrapy shell将头作为

我想从中提取组织名称及其基本详细信息。我正在使用scrapy提取信息。我尝试使用scrapy shell提取第一个组织名称腾讯控股,并在scrapy shell中编写了scrapy命令
response.css('div.flex-no-grow.cb overflow省略号.标识符标签::text')。首先提取()

这个命令什么也不返回。我是一个网络报废新手。谁能帮我写下这个命令,或者纠正我哪里出错了?

我已经检查了你的网站,它运行良好,但是有一个问题,就是刮壳。scrapy shell将头作为
scrapy/{version}传递(+http://scrapy.org)
此网站抛出403错误,您可以通过打印响应对象来验证

您需要做的是更改请求的标题,比如更合适的标题
headers={'User-Agent':'Mozilla/5.0(X11;Linux x86_64;rv:48.0)Gecko/20100101 Firefox/48.0'}
并将其与请求一起传递,然后您将得到响应

要在shell中试用,请执行以下操作:

headers = {'User-Agent': 'Mozilla/5.0 (X11; Linux x86_64; rv:48.0) Gecko/20100101 Firefox/48.0'}
url = 'https://www.crunchbase.com/search/organization.companies'
按以下方式发出请求:

req = scrapy.Request(url=url, headers=headers)
fetch(req)

现在,您将得到200个响应并使用CSS路径。

当我试图在scrapy shell中删除您的链接时,我得到了响应代码416和一个网页,上面写着“当您浏览www.crunchbase.com时,您的浏览器让我们认为您是一个机器人。这可能有几个原因……”。基本上,这是一个安全措施,你需要绕过之前,你可以放弃这个网站。所以在开始选择元素之前,只需检查您的响应文本的外观,以确保您解决了正确的问题。感谢您的响应。在我编写命令时,Scrapy shell没有收到任何错误响应,它只返回任何内容,既不返回错误响应,也不返回任何结果。我们如何使用Scrapy绕过此安全措施?在scrapy shell上运行
print(response.text)
,确认您是否获得了实际的网页数据或我发布的包含上述消息的网页。是的,我得到了与您在消息中指出的相同的响应我们如何绕过它?