我目前使用selenium python刮擦linkedin數據。我可以通過各種網頁進行解析並抓取數據,但由於Unicode錯誤,在前幾頁之後該過程會中斷。這裏是我的代碼:UnicodeEncodeError:'ascii'編解碼器無法在位置448對字符u' u2013'進行編碼:序號不在範圍內(128)
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get('https://www.linkedin.com/jobs/search?locationId=sg%3A0&f_TP=1%2C2&orig=FCTD&trk=jobs_jserp_posted_one_week')
result = []
while True:
while True:
try:
sleep(1)
result +=[i.text for i in driver.find_elements_by_class_name('job-title-text')]
except:
sleep(5)
else:
break
try:
for i in range(50):
nextbutton = driver.find_element_by_class_name('next-btn')
nextbutton.click()
except:
break
with open('jobtitles.csv', 'w') as f:
f.write('\n'.join(i for i in result).encode('utf-8').decode('utf-8'))
你爲什麼這樣做'.encode( 'UTF-8')。解碼( 'UTF-8')'? 'Actual String' - >'Encode' - >'Decode' - >'Actual String',用法是什麼? –
我想獲取職位名稱的文本格式並將其導出到csv文件 –
我試圖拿走解碼但仍然可以工作,直到第9個網頁停止。實際上有50頁 –