数据帧编码问题和Excel在抓取过程中写入问题

时间:2018-03-03 13:55:45

标签: pandas python-3.6

这是韩国化妆品网站爬虫:)

from selenium import webdriver
from scrapy.selector import Selector
import pandas as pd
import os

driver = webdriver.Chrome('C:/webdrivers/chromedriver')
url = "http://naturecollection.co.kr/product/view.jsp?dpid=AF005186"
driver.get(url)
sel = Selector(text=driver.page_source)
sub_en = sel.xpath('//*[@class="section fr"]//*[@class="subTit"]/text()').extract()
description = sel.xpath('//*[@id="proExplain"]//p').extract()
image_urls = sel.xpath('//*[@class="thumList"]/li/a/img/@src').extract()
options = sel.xpath('//*[@class="colorChip optionList"]//@title').extract()
result = []
for idx, option in enumerate(options):
    prod = ({
        'Option': option,
        'Url': url,
        'Description': description,
        'Image_urls': image_urls
    })

    result.append(prod)

df = pd.DataFrame(result)
writer = pd.ExcelWriter(os.path.dirname(os.path.realpath(__file__)) + '/export/result_lg.xlsx',
                        options={'strings_to_urls': False}, engine='xlsxwriter')
df.to_excel(writer, sheet_name='result', startrow=0, columns=['Option', 'Url', 'Description', 'Image_urls'], encoding='utf-8')
writer.save()
driver.close()
driver.stop_client()

但是,写入Excel时会出现以下问题。

描述

['<p align="center" style="text-align: center;"><img alt="" src="http://image.lgcare.com/naturecollectionWebSrc/upload/smeditor//2016/1477294435929.jpg"></p>', '<p>\xa0</p>', '<p align="center" style="text-align: center;">\xa0</p>', '<p>\xa0</p>', '<p align="center" style="text-align: center;"><br style="clear: both;">\xa0</p>', '<p align="center" style="text-align: center;">\xa0</p>', '<p>\xa0</p>']

--->  \xa0 , [' , '] , ', '


  --->  \t\t\t\t\n' , \n (In other descriptions, things like left are also generated.)

我不需要这些,但它们总是发生。当由熊猫写的时候

写xlrd时很好。 我想要的结果如下。(这是由xlrd写的)

描述

<p align="center" style="text-align: center;"><img alt="" src="http://image.lgcare.com/naturecollectionWebSrc/upload/smeditor//2016/1477294435929.jpg"></p><p> </p><p align="center" style="text-align: center;"> </p><p> </p><p align="center" style="text-align: center;"><br style="clear: both;"> </p><p align="center" style="text-align: center;"> </p><p> </p>

我想知道为什么会这样。为方便起见,我想使用熊猫。 有什么办法吗? 非常感谢你。

0 个答案:

没有答案