cuốn sách gpt4 ai đã làm

python - Thu thập dữ liệu/bỏ qua các mục trống

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 21:38:42 28 4
mua khóa gpt4 Nike

Tôi đã tạo ra con bot nhỏ này hoạt động bằng cách tìm kiếm thông qua danh sách các tham số. Nó hoạt động tốt cho đến khi có một số kết quả trên trang: sản phẩm_giá_euro Đưa ra một danh sách các mặt hàng trống một nửa. Vì thế khi tôi đi cùng sản phẩm_giá_xu Khi kết nối, tôi nhận được kết quả như thế này:

  'giá' : '',76 

Nhận được một nửa kết quả. Có cách nào dễ dàng để ngăn chặn việc thu thập các phần tử trống không? của tôi sản phẩm_giá_euro Đầu ra trông như thế này:

[' 1', ' ', ' 2', ' ', ' 2', ' ', ' 1', ' ', ' 1', ' ', ' 1', ' ', ' 2', ' ']

Tôi chỉ muốn giữ "1", "2", v.v ...

Điều này trông giống như CSS. Có thể có một cái gì đó ở đây:

< span class="product-pricing__main-price" >
2
< span class="cents" >,79€
< /span >

Mã của tôi:

def start_requests(tự):
base_url="https://new.carrefour.fr/s?q="
test_file = open(r"example", "r")
reader = csv.reader(test_file)
cho hàng trong trình đọc:
if row:
url = hàng[0]
tuyệt đối_url = base_url+url
in(url_tuyệt đối)
mang lại Scrapy.Request(absolute_url, meta={'dont_redirect': True, "handle_httpstatus_list": [302, 301]}, callback=self.parse)


phân tích def (tự, phản hồi):
tên sản phẩm = reply.css("h2.label.title::text").extract()
Product_packaging = reply.css("div.label.packaging::text").extract()
sản phẩm_price_euros = reply.css("span.product-pricing__main-price::text").extract()
sản phẩm_price_cents = reply.css("span.cents::text").extract()
đối với tên, bao bì, price_euro, price_cent theo zip(product_name, Product_packaging, Product_price_euros, Product_price_cents):
năng suất { 'ean' : reply.css("h1.page-title::text").extract(), 'name': name+packaging, 'price': price_euro+price_cent}

Có ý tưởng gì không? :)

câu trả lời hay nhất

Nếu bạn chỉ lọc trốngEURcác yếu tố, làm thế nào để kết hợp chúng với các yếu tố chính xácxucuộc thi đấu?

Đầu tiên, IMHO, tôi nghĩ sẽ dễ dàng hơn nếu bạn duyệt qua các sản phẩm để thu thập dữ liệu của chúng. Ví dụ.

cho sản phẩm trong reply.css('.product-list__item'):
name = Product.css("h2.label.title::text").extract()
# ...

Vì vậy, bạn nhận được giá và xu như thế này:

>>> sản phẩm.css('.product-pricing__main-price ::text')
['2', ',99€']

>>> ''.join(product.css('.product-pricing__main-price ::text').getall())
'2,99€'

Về python - thu thập dữ liệu/bỏ qua các dự án trống, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/53065523/

28 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress