乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • Python pandas獲取網(wǎng)頁(yè)中的表數(shù)據(jù)(網(wǎng)頁(yè)抓取)

       hercules028 2021-12-10

      excelperfect

      標(biāo)簽:PythonExcel,pandas

      現(xiàn)如今,人們隨時(shí)隨地都可以連接到互聯(lián)網(wǎng)上,互聯(lián)網(wǎng)可能是最大的公共數(shù)據(jù)庫(kù),學(xué)習(xí)如何從互聯(lián)網(wǎng)上獲取數(shù)據(jù)至關(guān)重要。因此,有必要了解如何使用Pythonpandas庫(kù)從web頁(yè)面獲取表數(shù)據(jù)。此外,如果你已經(jīng)在使用Excel PowerQuery,這相當(dāng)于“從Web獲取數(shù)據(jù)”功能,但這里的功能更強(qiáng)大100倍。

      從網(wǎng)站獲取數(shù)據(jù)(網(wǎng)頁(yè)抓取)

      HTML是每個(gè)網(wǎng)站背后的語(yǔ)言。當(dāng)我們?cè)L問(wèn)一個(gè)網(wǎng)站時(shí),發(fā)生的事情如下:

      1.在瀏覽器的地址欄中輸入地址(URL),瀏覽器向目標(biāo)網(wǎng)站的服務(wù)器發(fā)送請(qǐng)求。

      2.服務(wù)器接收請(qǐng)求并發(fā)回組成網(wǎng)頁(yè)的HTML代碼。

      3.瀏覽器接收HTML代碼,動(dòng)態(tài)運(yùn)行,并創(chuàng)建一個(gè)網(wǎng)頁(yè)供我們查看。

      Web抓取基本上意味著,我們可以使用Python向網(wǎng)站服務(wù)器發(fā)送請(qǐng)求,接收HTML代碼,然后提取所需的數(shù)據(jù),而不是使用瀏覽器。

      這里不會(huì)涉及太多的HTML,只是介紹一些要點(diǎn),以便我們對(duì)網(wǎng)站和網(wǎng)頁(yè)抓取的工作原理有一個(gè)基本的了解。HTML元素或“HTML標(biāo)記”是用<>包圍的特定關(guān)鍵字。例如,以下HTML代碼是網(wǎng)頁(yè)的標(biāo)題,將鼠標(biāo)懸停在網(wǎng)頁(yè)中該選項(xiàng)卡上,將在瀏覽器上看到相同的標(biāo)題。注意,大多數(shù)HTML元素都需要一個(gè)開(kāi)始標(biāo)記(例如,<title>)和一個(gè)相應(yīng)的結(jié)束標(biāo)記(例如,</title>)。

      <title>Python pandas獲取網(wǎng)頁(yè)中的表數(shù)據(jù)(網(wǎng)頁(yè)抓?。?/span></title>

      類(lèi)似地,下面的代碼將在瀏覽器上繪制一個(gè)表,你可以嘗試將其復(fù)制并粘貼到記事本中,然后將其保存為“表示例.html”文件,應(yīng)該能夠在瀏覽器中打開(kāi)它。簡(jiǎn)要說(shuō)明如下:

      • <table>…</table>繪制表格

      • <tr>…</tr>在表中繪制一行

      • <th>…</th>表示表格標(biāo)題

      • <td>…</td>表示表格數(shù)據(jù)

      <html>

          <table>

              <tr>

                 <th>用戶(hù)姓名</th>

                 <th>國(guó)家</th>

                 <th>城市</th>

                 <th>性別</th>

                 <th>年齡</th>

              </tr>

              <tr>

                  <td>Forrest Gump</td>

                 <td>USA</td>

                 <td>New York</td>

                 <td>M></td>

                 <td>50</td>

              </tr>

              <tr>

      <td>Mary Jane</td>

                 <td>CANADA</td>

                 <td>Toronto</td>

                 <td>F</td>

                 <td>30</td>

              </tr>

          </table>

      </html>

      使用pandas進(jìn)行網(wǎng)頁(yè)抓取的要求

      了解了網(wǎng)站的基本構(gòu)建塊以及如何解釋HTML(至少是表格部分!)。這里只介紹HTML表格的原因是,大多數(shù)時(shí)候,當(dāng)我們?cè)噲D從網(wǎng)站獲取數(shù)據(jù)時(shí),它都是表格格式。pandas是從網(wǎng)站獲取表格格式數(shù)據(jù)的完美工具!

      因此,使用pandas從網(wǎng)站獲取數(shù)據(jù)的唯一要求是數(shù)據(jù)必須存儲(chǔ)在表中,或者用HTML術(shù)語(yǔ)來(lái)講,存儲(chǔ)在<table>…</table>標(biāo)記中。pandas將能夠使用我們剛才介紹的HTML標(biāo)記提取表、標(biāo)題和數(shù)據(jù)行。

      如果試圖使用pandas從不包含任何表(<table>…</table>標(biāo)記)的網(wǎng)頁(yè)中“提取數(shù)據(jù)”,將無(wú)法獲取任何數(shù)據(jù)。對(duì)于那些沒(méi)有存儲(chǔ)在表中的數(shù)據(jù),我們需要其他方法來(lái)抓取網(wǎng)站。

      網(wǎng)絡(luò)抓取示例

      我們前面的示例大多是帶有幾個(gè)數(shù)據(jù)點(diǎn)的小表,讓我們使用稍微大一點(diǎn)的更多數(shù)據(jù)來(lái)處理。

      我們將從百度百科獲取最新世界500公司名稱(chēng)和相關(guān)信息:

      https://baike.baidu.com/item/%E4%B8%96%E7%95%8C500%E5%BC%BA/640042?fr=aladdin

      圖片

      1(如果出現(xiàn)錯(cuò)誤,根據(jù)錯(cuò)誤提示處理。我的計(jì)算機(jī)上是沒(méi)有安裝lxml,安裝后正常)

      上面的df實(shí)際上是一個(gè)列表,這很有趣……列表中似乎有3個(gè)項(xiàng)目。讓我們看看pandas為我們收集了什么數(shù)據(jù)……

      圖片

      2

      第一個(gè)數(shù)據(jù)框架df[0]似乎與此無(wú)關(guān),只是該網(wǎng)頁(yè)中最先抓取的一個(gè)表。查看網(wǎng)頁(yè),可以知道這個(gè)表是中國(guó)舉辦過(guò)的財(cái)富全球論壇。

      圖片

      3

      第二個(gè)數(shù)據(jù)框架df[1]是該頁(yè)面上的另一個(gè)表,注意,其末尾,它表示有[500x 6]。這個(gè)表就是世界財(cái)富500強(qiáng)排名表。

      圖片

      4

      第三個(gè)數(shù)據(jù)框架df[2]是該頁(yè)面上的第3個(gè)表,其末尾表示有[110x 5]。這個(gè)表是中國(guó)上榜企業(yè)表。

      注意,始終要檢查pd.read_html()返回的內(nèi)容,一個(gè)網(wǎng)頁(yè)可能包含多個(gè)表,因此將獲得數(shù)據(jù)框架列表,而不是單個(gè)數(shù)據(jù)框架!

      注:本文學(xué)習(xí)整理自pythoninoffice.com。

      歡迎在下面留言,完善本文內(nèi)容,讓更多的人學(xué)到更完美的知識(shí)。

      歡迎到知識(shí)星球:完美Excel社群,進(jìn)行技術(shù)交流和提問(wèn),獲取更多電子資料,并通過(guò)社群加入專(zhuān)門(mén)的微信討論群,更方便交流。

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多