Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.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 3.x 代码中有防刮保护的页面?_Python 3.x_Xpath_Scrapy - Fatal编程技术网

Python 3.x 代码中有防刮保护的页面?

Python 3.x 代码中有防刮保护的页面?,python-3.x,xpath,scrapy,Python 3.x,Xpath,Scrapy,我试图从网页中提取信息,在处理Xpath helper(chrome扩展)时,它会完美地显示内容,但在将其提交给scrapy时,它会返回“无”或“空”: 网状物: 数字--NN是它所测试的形式 我尝试过Xpath(/*[@id=“da_price”],/*[@id=“da_price”]/text()),.get(“”),.extract(),.get(“”).strip(),Css,,da_price::text,我还使用了beautifulsoup和scrapy splas hand返回

我试图从网页中提取信息,在处理Xpath helper(chrome扩展)时,它会完美地显示内容,但在将其提交给scrapy时,它会返回“无”或“空”: 网状物: 数字--NN是它所测试的形式


我尝试过Xpath(
/*[@id=“da_price”]
/*[@id=“da_price”]/text()
),
.get(“”)
.extract()
.get(“”).strip()
,Css
,da_price::text
,我还使用了beautifulsoup和scrapy splas hand返回结果无或空。我仍然不想尝试使用selenium,因为链接的数量相当大。

您要定位的元素可能会被动态呈现。我尝试了这个,并让它工作,我的目标价格更低的网页上,而不是

import scrapy

class TestSpider(scrapy.Spider):
    name = 'testspider'

    def start_requests(self):
        return [scrapy.Request(
            url='https://cutt.ly/bjj3ohW',
        )]

    def parse(self, response):
        price = response.css('.price-final > strong::text').get()
        print(price)
测试是否动态渲染的一个好方法是打开Chrome
(F12)
中的inspect面板,然后查看网络选项卡下的内容。重新加载页面并查看,第一个响应应该是
.html
文件。单击该文件,然后单击响应。在那里,您可以看到可以用Scrapy解析的html代码。单击
ctrl+F
并搜索您试图解析的CSS选择器