这是我在这个网站上的第一个问题,因为我尝试了很多方法来获得我想要的东西,但我没有成功。我尝试从类似于 CraigList 的法国网站中提取两种类型的数据。我的需求很简单,我设法获得了这些信息,但我的摘录中仍然有标签和其他标志。即使使用 .encode(utf-8),我也有编码问题。
# -*- coding: utf-8 -*-
from urllib.request import urlopen
from bs4 import BeautifulSoup
import re
import csv
csvfile=open("test.csv", 'w+')
html=urlopen("http://www.leboncoin.fr/annonces/offres/ile_de_france/")
bsObj=BeautifulSoup(html)
article= bsObj.findAll("h2",{"class":"title"})
prix=bsObj.findAll("div",{"class":"price"})
for art in article:
art=art.text.encode('utf-8')
print(article)
for prix1 in prix:
prix1=prix1.text.encode('utf-8')
print(prix1)
#Pour merger 2 listes (en deux colonnes, pas a la suite)
table_2=list(zip(article,prix))
try:
writer=csv.writer(csvfile)
writer.writerow(('Article', 'Prix'))
for i in table_2:
writer.writerow([i])
finally:
csvfile.close()
运行此代码时:
- 我的输出包含等。虽然我已经运行:
对于文章中的艺术: art=art.text.encode('utf-8')
- 有时,由于产品名称中的“€”或“-”符号,编码不起作用
我的问题是:
- 为什么“.text.encode()”不能从我的文章对象中清除标签?
- 为什么我仍然遇到编码问题?
我想我没有按预期使用该功能,但尽管我进行了测试,但我没有得到结果..
提前感谢您的见解。
干杯
乔