Tôi đã tạo một tập lệnh để xóa trang web: 1688.com và vấn đề là trang web bằng tiếng Trung nên bất cứ khi nào tôi cố gắng truy xuất văn bản, nó mang lại cho tôi tôi xuất sang tệp CSV, không có gì trong tệp. Mã của tôi:Không thể truy xuất văn bản tiếng Trung trong khi cạo
# -*- coding: utf-8 -*-
import csv
from urllib import urlopen
from bs4 import BeautifulSoup as BS
csv_content = open('content.csv', 'w+')
writer_content = csv.writer(csv_content)
url = urlopen('https://fuzhuang.1688.com/nvzhuang?
spm=a260k.635.1998214976.1.7eqUGT')
html = BS(url, 'lxml')
container = html.find('ul', {'class' : 'ch-box fd-clr'})
offers = container.find_all('div', {'class' : 'ch-offer-body'})
lst = []
for offer in offers:
offer_box = offer.find('div', {'component-name' : '@alife/ocms-
component-1688-pc-ch-offer-pic'})
images = offer_box.find('img')['src']
title = offer.find('div', {'class' : 'ocms-component-1688-pc-ch-offer-
title-0-1-11'}).text
price = offer.find('div', {'class' : 'ocms-component-1688-pc-ch-offer-
price-0-1-14'}).text
lst.append(price)
cho mặt hàng trong lst: writer_content.writerow ([item])
print lst
Đầu ra là
[u'\n\n\n\xa5\n109.00\n\n\n\u6210\u4ea4\n329\n\u4ef6\n\n\n', u'\n\n\n\xa5\n56.00\n\n\n\u6210\u4ea4\n195\n\u4ef6\n\n\n', u'\n\n\n\xa5\n83.00\n\n\n\u6210\u4ea4\n109\n\u4ef6\n\n\n', u'\n\n\n\xa5\n69.00\n\n\n\u6210\u4ea4\n208\n\u4ef6\n\n\n', u'\n\n\n\xa5\n46.00\n\n\n\u6210\u4ea4\n204\n\u4ef6\n\n\n', u'\n\n\n\xa5\n45.00\n\n\n\u6210\u4ea4\n54\n\u4ef6\n\n\n', u'\n\n\n\xa5\n82.00\n\n\n\u6210\u4ea4\n38\n\u4ef6\n\n\n', u'\n\n\n\xa5\n48.90\n\n\n\u6210\u4ea4\n318\n\u4ef6\n\n\n']
Và tôi đã cố gắng mã hóa và giải mã utf-8, tôi thực sự sẽ đánh giá cao nếu bạn chỉ cho tôi cách giải quyết vấn đề này.
Nếu đó là toàn bộ mã của bạn, sau đó bạn cần phải viết thư tệp csv của bạn với ví dụ: 'writer_content.writerow'. Xem https://docs.python.org/2/library/csv.html#writer-objects – bblack
Tôi đã thử nó nhưng tôi quên đặt dòng đó trong mã ở trên –
Bạn có thể chỉnh sửa câu trả lời và đặt nó –