我正在try 用scrapy从this个eBay列表中删除Monday, 9:30 AM个.

从一个破烂的贝壳scrapy shell https://www.ebay.com/itm/145599690533?:

>>> response.css('span.ux-timer__time-left::text')
[]

我还try 了从Firefox Dev复制css路径和XPath,但结果相同.

我怀疑这个问题与明文之前的::before有关,但我对此几乎一无所知.

我错过了什么?

推荐答案

事实上,你什么都不会错过.您的元素 Select 是正确的,但是scrapyshell 没有得到任何元素,因为该值是由JavaScript填充的,而scrapy无法模仿它.

只需举个例子,说明您的CSS Select 正在使用Selify和Beautiful Soup :

import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
from bs4 import BeautifulSoup

options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
#chrome to stay open
options.add_experimental_option("detach", True)

driver = webdriver.Chrome(service=Service(ChromeDriverManager().install()),options=options)

driver.get("https://www.ebay.com/itm/145599690533?")
time.sleep(5)

soup = BeautifulSoup(driver.page_source, 'lxml')
date = soup.select_one('span.ux-timer__time-left').get_text()
print(date)

Output:

Monday, 08:30 PM

Python相关问答推荐

django禁止直接分配到多对多集合的前端.使用user.set()

OR—Tools CP SAT条件约束

如何使用Python以编程方式判断和检索Angular网站的动态内容?

Pandas Loc Select 到NaN和值列表

从嵌套的yaml创建一个嵌套字符串,后面跟着点

如何启动下载并在不击中磁盘的情况下呈现响应?

如何更改groupby作用域以找到满足掩码条件的第一个值?

lityter不让我输入左边的方括号,'

基于形状而非距离的两个numpy数组相似性

将标签移动到matplotlib饼图中楔形块的开始处

为什么在FastAPI中创建与数据库的连接时需要使用生成器?

并行编程:同步进程

Tensorflow tokenizer问题.num_words到底做了什么?

read_csv分隔符正在创建无关的空列

Polars定制函数返回多列

如何关联来自两个Pandas DataFrame列的列表项?

如何在Polars中将列表中的新列添加到现有的数据帧中?

如何判断特定的OPC UA node 是否已经存在Asyncua?

Django/Python-UpdateView中的Delete函数正在复制,而不是删除

在POLARS中,如何命名使用GROUP_BY和N_UNIQUE创建的列?