Xin chào các bác. Em đang học Python và em đang crawler data từ web về và lưu nó vào file csv. Khổ nỗi là khi ghi vào file thì lúc mở ra nó bị lỗi font. Em đã khai báo UTF-8 rồi mà vẫn bị ạ.
f = open('job_data.csv', "a+", encoding="utf-8")
Rất mong nhận được sự giúp đỡ. Cám ơn các bác.
Code em như này ạ:
from newspaper import Article
from bs4 import BeautifulSoup
import requests
import csv
import pandas
f = open('job_data.csv', "a+", encoding="utf-8")
f_writer = csv.writer(f, lineterminator='\n')
def get_data(url):
try:
response = requests.get(url)
soup = BeautifulSoup(response.content,"html.parser")
# get job about
job_about = soup.find('ul', class_="list-unstyled fs-14 mb-0")
# get job name
job_name = job_about.find('h1', class_='fs-20 m-0').text
# get company name
company_name = job_about.find('a', class_="color-main fs-16").text.strip()
#get location -> find all element li -> get li[2]
all_li_element = job_about.findAll('li')
location = all_li_element[2].text.replace("Địa điểm tuyển dụng: ","").strip()
# get salary
salary = job_about.find('span', class_="color-ed145b").text
article = Article(url)
article.download()
article.parse()
f_writer.writerow([article.title,article.meta_description,article.url,job_name,company_name,location,salary,article.text])
print("article.title: ", article.title)
print("article.meta_description:", article.meta_description)
print("Link: ", article.url)
print("Job name: ", job_name)
print("Company name: ", company_name)
print("Location: ",location)
print("Salary: ",salary)
print("article.text: ",article.text)
except Exception as ex:
print("Erro: ", ex)
pass
if __name__ == '__main__':
get_data("https://timviec.com.vn/nhan-vien-tu-van-du-hoc-19666.html")