python獲取網頁介面數據,python訪問網頁介面

本文目錄一覽:

怎麼使用python爬取百度網的數據

檔案系統初期算是告一段落了,利用一點時間繼續爬取POI。和領導聊聊,受益匪淺。之前我的想法是爬取一份poi數據,直接能用;而領導聽了之後,覺得更好的方式是爬取多個渠道來源的POI數據,然後做一個數據比較融合(最終事情能不能成不好說,但是經過這麼一回,細節技術上有所提高,宏觀把控整體項目流程能力有所長進,更重要的是通過和能人交流,以更高的眼界更宏觀的看待數據、應用以及問題,這就是成長)。 我之前採用的方式,可以滿足需求,但是POI數據獲取效率差一些(雖然已經很快,但是相比本文這種還是慢一些)、數據現勢性不好,高德數據和百度數據雖然是兩套,但是僅僅是坐標不同(所以顯然還是一套)。所以,我加一種方式來爬取百度poi。

一 調研: 百度API提供了一個叫Place API獲取poi的介面,有個城市內檢索 實例為

ce/v2/search?query=銀行page_size=10page_num=0scope=1region=北京output=jsonak={您的密鑰}

它返回的是個json類型數據,一個區域最大返回數為400,每頁最大返回數為20。顯然一個城市內不管什麼類別的poi,不可能只有400個,會遺漏數據,故捨去

還有一個矩形區域檢索,實例為

u.com/place/v2/search?query=美食page_size=10page_num=0scope=1bounds=39.915,116.404,39.975,116.414output=jsonak={您的密鑰}只要區域劃分得當,這個可以使用

二 要解決的問題

1 區域劃分

網上有人通過遞歸寫代碼的方式來劃分,這樣劃分有問題,第一,劃分的區域不能完全對應一個城市的市區;第二,演算法設計比較麻煩。解決辦法,後面詳細說。

2 類別問題

百度API的介面必須要指定query的類別,那麼如果類別指定不準,或者類別不全,根本無法完成爬取一個城市所有poi的任務。解決辦法,說實話,這個問題在我做這件事情的時候,

十分棘手,不過我最終找到了這個網頁

/index.php?title=lbscloud/poitags,一切都不是問題了

三 整體流程

1 區域劃分,2km*2km的區域基本可以滿足需求,獲取每個區域的對角坐標(經緯度),逐行寫入一個txt文本里

2 爬蟲程序編寫 讀取1中的txt文本,逐行循環;調用百度API介面,爬取json;將爬取的數據存入資料庫中; 每個類別跑一次程序

3 爬下的POI數據處理 poi顯示,投影坐標轉換,與地圖疊加

後文將詳細介紹流程

python如何讀取網頁中的數據

用Beautiful Soup這類解析模塊:

Beautiful Soup 是用Python寫的一個HTML/XML的解析器,它可以很好的處理不規範標記並生成剖析樹(parse tree);

它提供簡單又常用的導航(navigating),搜索以及修改剖析樹的操作;

用urllib或者urllib2(推薦)將頁面的html代碼下載後,用beautifulsoup解析該html;

然後用beautifulsoup的查找模塊或者正則匹配將你想獲得的內容找出來,就可以進行相關處理了,例如:

from BeautifulSoup import BeautifulSoup

html = ‘htmlheadtitletest/title/headbodyptest body/p/body/html’

soup = BeautifulSoup(html)

soup.contents[0].name

# u’html’

soup.comtents[0].contents[0].name

# u’head’

head = soup.comtents[0].contents[0]

head.parent.name

# u’html’

head.next

# u’titletest/title

python 怎麼獲取web數據

python標準庫有urllib, urllib2還有三方庫requests,這些都可以發送http請求,然後獲得返回的內容,也就是網頁內容。

如何用python抓取js生成的數據

一、查看相應的js代碼,用python獲取原始數據之後,模仿js編寫相應的python代碼。

二、通過介面api獲得數據,直接使用python獲取介面數據並處理。

三。終極方法。使用 Selenium和PhantomJS執行網頁js代碼,然後再獲取數據,這種方法100%可以獲取數據,確定就是速度太慢。

如何用Python爬蟲抓取網頁內容?

爬蟲流程

其實把網路爬蟲抽象開來看,它無外乎包含如下幾個步驟

模擬請求網頁。模擬瀏覽器,打開目標網站。

獲取數據。打開網站之後,就可以自動化的獲取我們所需要的網站數據。

保存數據。拿到數據之後,需要持久化到本地文件或者資料庫等存儲設備中。

那麼我們該如何使用 Python 來編寫自己的爬蟲程序呢,在這裡我要重點介紹一個 Python 庫:Requests。

Requests 使用

Requests 庫是 Python 中發起 HTTP 請求的庫,使用非常方便簡單。

模擬發送 HTTP 請求

發送 GET 請求

當我們用瀏覽器打開豆瓣首頁時,其實發送的最原始的請求就是 GET 請求

import requests

res = requests.get(”)

print(res)

print(type(res))

Response [200]

class ‘requests.models.Response’

python抓取介面內容用什麼方法

你的問題事實上包含幾部分:

將 PDF 轉化為純文本格式

抽取其中部分內容

格式化寫入到 excel 中

轉換 PDF 有很多庫可以完成,如下是通過 pdfminer 的示例:

from cStringIO import StringIO

from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter

from pdfminer.converter import TextConverter

from pdfminer.layout import LAParams

from pdfminer.pdfpage import PDFPage

def convert_pdf_2_text(path):

rsrcmgr = PDFResourceManager()

retstr = StringIO()

device = TextConverter(rsrcmgr, retstr, codec=’utf-8′, laparams=LAParams())

interpreter = PDFPageInterpreter(rsrcmgr, device)

with open(path, ‘rb’) as fp:

for page in PDFPage.get_pages(fp, set()):

interpreter.process_page(page)

text = retstr.getvalue()

device.close()

retstr.close()

return text

需要指出的是,pdfminer 不但可以將 PDF 轉換為 text 文本,還可以轉換為 HTML 等帶有標籤的文本。上面只是最簡單的示例,如果每頁有很獨特的標誌,你還可以按頁單獨處理。

原創文章,作者:JTBL,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147770.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
JTBL的頭像JTBL
上一篇 2024-11-02 13:12
下一篇 2024-11-02 13:12

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29

發表回復

登錄後才能評論