<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          Python網(wǎng)絡(luò)爬蟲(chóng)中爬到的數(shù)據(jù)怎么分列分行寫入csv文件中

          共 2298字,需瀏覽 5分鐘

           ·

          2022-04-20 20:33

          點(diǎn)擊上方“Python共享之家”,進(jìn)行關(guān)注

          回復(fù)“資源”即可獲贈(zèng)Python學(xué)習(xí)資料

          明朝掛帆席,楓葉落紛紛。

          大家好,我是皮皮。

          一、前言

          前幾天在Python白銀交流群有個(gè)叫【?】的粉絲問(wèn)了一個(gè)Python網(wǎng)絡(luò)爬蟲(chóng)中爬到的數(shù)據(jù)怎么分列分行寫入csv文件中的問(wèn)題,這里拿出來(lái)給大家分享下,一起學(xué)習(xí)下。

          現(xiàn)在的狀態(tài)是下圖這樣的。

          代碼截圖如下:

          問(wèn)題補(bǔ)充:

          二、解決過(guò)程

          這里【瑜亮老師】給出了一個(gè)代碼,如下所示:

          et?=?etree.HTML(resp)
          tr_list?=?et.xpath('//table//tr')
          for?i?in?tr_list:
          ????#?獲取電影信息,并去掉前面的多余的那個(gè)圓點(diǎn)
          ????data?=?",?".join(i.xpath('./td//text()')[1:])?+?'\n'
          ????#?追加寫入文件
          ????with?open('電影.csv',?'a',?encoding='utf-8')?as?f:
          ????????f.write(data)

          這個(gè)代碼親測(cè)好使,不過(guò)還有更好的思路。

          這里【月神】給出了一個(gè)代碼,如下所示:

          import?requests
          from?lxml?import?etree


          url?=?'https://piaofang.maoyan.com/session'
          headers?=?{'User-Agent':?'Mozilla/5.0?(Windows?NT?6.1;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?'
          ?????????????????????????'Chrome/100.0.4896.75?Safari/537.36?Edg/100.0.1185.36?',
          ???????????'Referer':?'https://piaofang.maoyan.com/box-office?ver=normal'
          ???????????}
          resp?=?requests.get(url=url,?headers=headers).text

          et?=?etree.HTML(resp)
          pf_data?=?et.xpath('//div[@class="tiny-table?tiny-table-no-border?tiny-table-middle"]//td//text()')
          ##?保存csv文件部分
          pf_string?=?''.join(f'\n{i},'?if?i?==?'?'?else?f'{i},'?for?i?in?pf_data).strip('\n').split('\n')
          with?open('pf_maoyan.csv',?'w',?encoding='utf-8-sig')?as?f:
          ????for?i?in?pf_string:
          ????????f.writelines(i.strip(',')+'\n')

          你以為這就完事了?還有更好的方法在后頭呢。下面的這個(gè)代碼是不用xpath寫的,改用pandas處理網(wǎng)頁(yè)結(jié)構(gòu)。

          import?requests
          import?pandas?as?pd

          url?=?'https://piaofang.maoyan.com/session'
          headers?=?{'User-Agent':?'Mozilla/5.0?(Windows?NT?6.1;?Win64;?x64)?AppleWebKit/537.36?(KHTML,?like?Gecko)?'
          ?????????????????????????'Chrome/100.0.4896.75?Safari/537.36?Edg/100.0.1185.36?',
          ???????????'Referer':?'https://piaofang.maoyan.com/box-office?ver=normal'
          ???????????}
          resp?=?requests.get(url=url,?headers=headers).text
          #?利用pandas保存csv文件
          pd.read_html(resp)[0].to_csv('pf_maoyan.csv',?encoding='utf-8-sig',?index=False,?header=None)

          小伙伴們直呼好家伙。

          當(dāng)然了,這個(gè)網(wǎng)站可以抓取的方法有很多,感興趣的小伙伴們也可以試試看,就當(dāng)練習(xí)下了。

          三、總結(jié)

          大家好,我是皮皮。這篇文章主要分享了Python網(wǎng)絡(luò)爬蟲(chóng)中爬到的數(shù)據(jù)怎么分列分行寫入csv文件中的問(wèn)題,文中針對(duì)該問(wèn)題給出了具體的解析和代碼演示,幫助粉絲順利解決了問(wèn)題。

          最后感謝粉絲【?】提問(wèn),感謝【月神】、【瑜亮老師】給出的具體解析和代碼演示,感謝粉絲【鄧旺】、【千葉ほのお】、【Jason】、【月牙彎彎】等人參與學(xué)習(xí)交流。

          小伙伴們,快快用實(shí)踐一下吧!如果在學(xué)習(xí)過(guò)程中,有遇到任何問(wèn)題,歡迎加我好友,我拉你進(jìn)Python學(xué)習(xí)交流群共同探討學(xué)習(xí)。

          -------------------?End?-------------------

          往期精彩文章推薦:

          歡迎大家點(diǎn)贊,留言,轉(zhuǎn)發(fā),轉(zhuǎn)載,感謝大家的相伴與支持

          想加入Python學(xué)習(xí)群請(qǐng)?jiān)诤笈_(tái)回復(fù)【

          萬(wàn)水千山總是情,點(diǎn)個(gè)【在看】行不行

          瀏覽 97
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久国产乱子伦精品免费女,网站 | 欧美性受XXXX黑人XYX性爽冫 | 成人六区| 欧美啪啪视频 | 5月丁香,6月综合 |