摘要:爬蟲數(shù)據(jù)寫入文件中文亂碼,用在中打開文件沒有問題,但是用打開卻出現(xiàn)了問題,以下為解決方法。
python爬蟲數(shù)據(jù)寫入csv文件中文亂碼,用’utf-8‘在pycharm中打開文件沒有問題,但是用excel打開卻出現(xiàn)了問題,以下為解決方法。
(最近在練習(xí)爬蟲,這個(gè)博文是對(duì)自己學(xué)習(xí)的記錄和分享,如果有問題,非常感謝各路大佬指出?。。。?/p>
for r in result:????????r_lis=[] #方法二:將爬到的內(nèi)容儲(chǔ)存在csv文件中????????r_lis.append(r.text)????????with open("company.csv","a",newline="",encoding="utf-8-sig") as csvfile: ???????? spamwriter=csv.writer(csvfile, delimiter=",") ????????spamwriter.writerow(r_lis)
在with自開合那里加入newline="",encoding="utf-8-sig"是關(guān)鍵
以下是天眼查的爬蟲
import requestsfrom bs4 import BeautifulSoupfrom urllib.parse import quoteimport csv #公司信息以csv的格式存儲(chǔ)看起來(lái)更美觀# key="華為" #從查詢一個(gè)company開始,加for循環(huán),查詢多個(gè)企業(yè)lis=["華大基因","知乎","中國(guó)國(guó)家地理雜志社","中山大學(xué)"]for li in lis: url="https://www.tianyancha.com/search?key="+quote(li) #外部的url,進(jìn)入要查詢的企業(yè)的頁(yè)面 headers={ "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.82 Safari/537.36 Edg/93.0.961.52", "Cookie":"aliyungf_tc=dcee015d38cbc96ad677b845beb17fecf55dfe7bf358e85e3369cb76604d9baa; acw_tc=76b20f8416320655286472268e3b9f535aea9900bb46a056331a772cc85ae5; csrfToken=ZguchyQQdbrVckAuPOspK7Au; jsid=SEO-BING-ALL-SY-000001; TYCID=c06be740195e11ec9d547d348b283d0a; ssuid=5077711456; sajssdk_2015_cross_new_user=1; bannerFlag=true; Hm_lvt_e92c8d65d92d534b0fc290df538b4758=1632065532; _ga=GA1.2.1408096384.1632065532; _gid=GA1.2.1583561769.1632065532; searchSessionId=1632065541.64432166; relatedHumanSearchGraphId=17066311; relatedHumanSearchGraphId.sig=TwOcKyCjpeHTjV7s49eE4L_3pHpB94avftKmZJek8gk; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2218438709046%22%2C%22first_id%22%3A%2217bfeafae43ba9-005e2376b1979-57341f44-1382400-17bfeafae44afa%22%2C%22props%22%3A%7B%22%24latest_traffic_source_type%22%3A%22%E7%9B%B4%E6%8E%A5%E6%B5%81%E9%87%8F%22%2C%22%24latest_search_keyword%22%3A%22%E6%9C%AA%E5%8F%96%E5%88%B0%E5%80%BC_%E7%9B%B4%E6%8E%A5%E6%89%93%E5%BC%80%22%2C%22%24latest_referrer%22%3A%22%22%7D%2C%22%24device_id%22%3A%2217bfeafae43ba9-005e2376b1979-57341f44-1382400-17bfeafae44afa%22%7D; tyc-user-info={%22state%22:%220%22%2C%22vipManager%22:%220%22%2C%22mobile%22:%2218438709046%22}; tyc-user-info-save-time=1632066453345; auth_token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiIxODQzODcwOTA0NiIsImlhdCI6MTYzMjA2NjQ1MiwiZXhwIjoxNjYzNjAyNDUyfQ.XYcBGbzr1qThhAZp9exmEKjWg1Co6_cwyZgmfCNO-9Nrp_KSyyqAr--UnxUhLaaX7x6jNmoX3SACJDL31RocNA; tyc-user-phone=%255B%252218438709046%2522%255D; Hm_lpvt_e92c8d65d92d534b0fc290df538b4758=1632066573" } #這里的Cookie需要是用戶登陸后的才可以用,否則需要輸入驗(yàn)證碼,所以先登陸,再獲取Cookie html=requests.get(url,headers=headers) soup=BeautifulSoup(html.text,"html.parser") innerUrl=soup.select_one("a.name")["href"] #只需要的一個(gè)所以用select_one()來(lái)爬取一個(gè)內(nèi)部的url#獲取內(nèi)部url即此處的href # print("獲取內(nèi)部URL:", innerUrl) innerHtml=requests.get(innerUrl,headers=headers) #這里的headers不需要變 soup=BeautifulSoup(innerHtml.text,"html.parser") result=soup.select(".table.-striped-col tbody tr td") for r in result: # with open("company.text","a",encoding="utf8") as f: #方法一:將爬到的內(nèi)容存儲(chǔ)在text文本中 # f.write(r.text+"/n") # with open("company.text","a",encoding="utf8") as f: # f.write("/n") r_lis=[] #方法二:將爬到的內(nèi)容儲(chǔ)存在csv文件中 r_lis.append(r.text) with open("company.csv","a",newline="",encoding="utf-8-sig") as csvfile: spamwriter=csv.writer(csvfile, delimiter=",") spamwriter.writerow(r_lis)print("已完成!")
這是本人的第一篇博文,這些內(nèi)容主要是對(duì)我自己學(xué)習(xí)爬蟲的記錄和分享,如果代碼中有什么問題的感謝各路大佬指正?。。?/p>
?
?
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/119993.html
摘要:如果該文件已存在,文件指針將會(huì)放在文件的結(jié)尾。運(yùn)行結(jié)果以上是讀取文件的方法。為了輸出中文,我們還需要指定一個(gè)參數(shù)為,另外規(guī)定文件輸出的編碼。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---30、解析庫(kù)的使用:PyQuery下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---32、數(shù)據(jù)存儲(chǔ):關(guān)系型數(shù)據(jù)庫(kù)存儲(chǔ):MySQL 我們用解析器解析出數(shù)據(jù)之后,接下來(lái)的一步就是對(duì)數(shù)據(jù)進(jìn)行存儲(chǔ)了,保存的形式可以...
摘要:在和偉鋒探討的時(shí)候,我突然想到了可以用爬蟲的手段,來(lái)將數(shù)據(jù)中心的數(shù)據(jù)全部爬取出來(lái)。這里做一個(gè)技術(shù)記錄,中間涉及到的知識(shí)點(diǎn)包括如何通過中的,以及維持登陸狀態(tài),以爬取不同的需要登陸以后才能查看的網(wǎng)頁(yè)。 前言說(shuō)明: 公司在2017年3月的時(shí)候開發(fā)過一個(gè)「數(shù)據(jù)中心」,是將有贊的用戶和訂單信息通過API拉取到自己開發(fā)的網(wǎng)站上,再結(jié)合我們自己和用戶溝通的信息,組成一個(gè)簡(jiǎn)單的用戶管理中心。數(shù)據(jù)中心雖...
摘要:本次使用天天基金網(wǎng)進(jìn)行爬蟲,該網(wǎng)站具有反爬機(jī)制,同時(shí)數(shù)量足夠大,多線程效果較為明顯。技術(shù)路線代理池多線程爬蟲與反爬編寫思路首先,開始分析天天基金網(wǎng)的一些數(shù)據(jù)。一旦使用多線程,則需要考慮到數(shù)據(jù)的讀寫順序問題。 @[TOC] 簡(jiǎn)介 提到爬蟲,大部分人都會(huì)想到使用Scrapy工具,但是僅僅停留在會(huì)使用的階段。為了增加對(duì)爬蟲機(jī)制的理解,我們可以手動(dòng)實(shí)現(xiàn)多線程的爬蟲過程,同時(shí),引入IP代理池進(jìn)行...
摘要:時(shí)間永遠(yuǎn)都過得那么快,一晃從年注冊(cè),到現(xiàn)在已經(jīng)過去了年那些被我藏在收藏夾吃灰的文章,已經(jīng)太多了,是時(shí)候把他們整理一下了。那是因?yàn)槭詹貖A太亂,橡皮擦給設(shè)置私密了,不收拾不好看呀。 ...
摘要:項(xiàng)目簡(jiǎn)介本文將介紹一個(gè)筆者自己的項(xiàng)目自制簡(jiǎn)單的詩(shī)歌搜索系統(tǒng)。該項(xiàng)目使用的模塊為其中,模塊和模塊用來(lái)制作爬蟲,爬取網(wǎng)上的詩(shī)歌。 項(xiàng)目簡(jiǎn)介 ??本文將介紹一個(gè)筆者自己的項(xiàng)目:自制簡(jiǎn)單的詩(shī)歌搜索系統(tǒng)。該系統(tǒng)主要的實(shí)現(xiàn)功能如下:指定一個(gè)關(guān)鍵詞,檢索出包含這個(gè)關(guān)鍵詞的詩(shī)歌,比如關(guān)鍵詞為白云,則檢索出的詩(shī)歌可以為王維的《送別》,內(nèi)容為下馬飲君酒,問君何所之?君言不得意,歸臥南山陲。但去莫復(fù)問,白云...
閱讀 3482·2021-11-15 11:39
閱讀 1682·2021-09-22 10:02
閱讀 1368·2021-08-27 16:24
閱讀 3671·2019-08-30 15:52
閱讀 3482·2019-08-29 16:20
閱讀 876·2019-08-28 18:12
閱讀 612·2019-08-26 18:27
閱讀 772·2019-08-26 13:32