Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/75.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 无法刮取AliExpress HTML元素_Python_Html_Scrapy_Aliexpress - Fatal编程技术网

Python 无法刮取AliExpress HTML元素

Python 无法刮取AliExpress HTML元素,python,html,scrapy,aliexpress,Python,Html,Scrapy,Aliexpress,我想从aliexpress那里得到一个任意的报价。我试着用刮痧和硒。我面临的问题是,当我使用chrome并右键单击>检查一个元素时,我看到了真正的HTML,但当我右键单击>查看源代码时,我看到了一些不同的东西——到处都是HTML CSS和JS 据我所知,内容是异步提取的吗?我想这就是我在页面上找不到要查找的元素的原因 我试图使用selenium先加载页面,然后获取我想要的内容,但失败了。我正试图向下滚动到评论部分并获取其内容 这是他们的高级反机器人解决方案还是我的方法错了 我目前拥有的代码: i

我想从aliexpress那里得到一个任意的报价。我试着用刮痧和硒。我面临的问题是,当我使用chrome并右键单击>检查一个元素时,我看到了真正的HTML,但当我右键单击>查看源代码时,我看到了一些不同的东西——到处都是HTML CSS和JS

据我所知,内容是异步提取的吗?我想这就是我在页面上找不到要查找的元素的原因

我试图使用selenium先加载页面,然后获取我想要的内容,但失败了。我正试图向下滚动到评论部分并获取其内容

这是他们的高级反机器人解决方案还是我的方法错了

我目前拥有的代码:

import scrapy
from selenium import webdriver
import logging
import time

logging.getLogger('scrapy').setLevel(logging.WARNING)


class MySpider(scrapy.Spider):
    name = 'myspider'
    
    start_urls = ['https://pl.aliexpress.com/item/32998115046.html']

    def __init__(self):
        self.driver = webdriver.Chrome()

    def parse(self, response):
        self.driver.get(response.url)

        scroll_retries = 20
        data = ''
        while scroll_retries > 0:
            try:
                data = self.driver.find_element_by_class_name('feedback-list-wrap')
                scroll_retries = 0
            except:
                self.scroll_down(500)
                scroll_retries -= 1

        print("----------")
        print(data)
        print("----------")
        self.driver.close()

    def scroll_down(self, pixels):
        self.driver.execute_script("window.scrollTo(0, {});".format(pixels))
        time.sleep(2)

通过在浏览器的inspect tool中的network(网络)选项卡中查看请求,您将发现有评论提交,因此您可以对该页面进行爬网。

您只需要反馈吗?@Piron现在-是的,但可能将来我想放弃更多