最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python采集二手車數(shù)據(jù)的超詳細講解

 更新時間:2023年04月18日 11:31:26   作者:極客飛虎  
這篇文章主要為大家介紹了Python采集二手車數(shù)據(jù)實現(xiàn)的超詳細講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

數(shù)據(jù)采集

XPath,XML路徑語言的簡稱。XPath即為XML路徑語言(XML Path Language),它是一種用來確定XML文檔中某部分位置的語言。XPath主要用于解析XML文檔,可以用來獲取XML文檔中某個元素的位置、屬性值等信息。XPath可以用于XML文檔解析、XML數(shù)據(jù)抽取、XML路徑匹配等方面。

發(fā)送請求

首先,我們要進行數(shù)據(jù)來源分析,知道我們的需求是什么?

明確需求:

  • 明確采集網(wǎng)站是什么?
  • 明確采集數(shù)據(jù)是什么?

        車輛基本信息

然后,我們分析車輛基本信息數(shù)據(jù), 具體是請求那個網(wǎng)址可以得到我們想要的數(shù)據(jù)。

通過開發(fā)者工具, 進行抓包分析:

打開開發(fā)者工具: F12 / 鼠標(biāo)右鍵點擊檢查選擇network

刷新網(wǎng)頁: 讓本網(wǎng)頁數(shù)據(jù)內(nèi)容重新加載一遍 <方便分析數(shù)據(jù)出處>

搜索數(shù)據(jù)來源: 復(fù)制你想要的內(nèi)容, 進行搜索即可

    import requests
    url = 'https://www.che168.com/china/a0_0msdgscncgpi1ltocsp1exx0/'
    header = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/111.0.0.0 Safari/537.36'}
    res = requests.get(url,headers=headers)

我們和之前一樣,獲取數(shù)據(jù),我們會發(fā)現(xiàn),車輛的基本信息就在網(wǎng)頁源代碼中,我們今天就用xpath的方法來解析數(shù)據(jù)。

解析數(shù)據(jù)

接下來,我們用xpath解析數(shù)據(jù)。我們用開發(fā)者工具定位到標(biāo)簽位置。

 我們通過網(wǎng)頁源代碼,我們可以獲取到每一個網(wǎng)頁的url。

    selector=parsel.Selector(res.text)
    detail_url_list = selector.xpath('//ul[@class="viewlist_ul"]/li/a[@class="carinfo"]/@href').getall()

我們可以看到,得到下面數(shù)據(jù)。

我們會發(fā)現(xiàn),我們得到了兩種網(wǎng)頁,所以,在這里我們拼接網(wǎng)頁就需要注意,這里,我不多說,直接看我是怎么寫的。

        if detail_url.split('/') == '':
            detail_url = 'https:'+detail_url
        else:
            detail_url = 'https://www.che168.com'+detail_url

這樣,我們就得到了每一個車輛信息的數(shù)據(jù)網(wǎng)頁,看看運行之后的效果吧。

接下來,我們就依次訪問某個鏈接,獲取我們想要的數(shù)據(jù)。

    responses = requests.get(detail_url,headers=headers)
    detail_selector = parsel.Selector(responses.text)

我用不同顏色標(biāo)注的,就是我們這次想要獲取的數(shù)據(jù),我們這里以車輛名稱為例,講解下path如何寫。

title = detail_selector.xpath('string(//h3[@class="car-brand-name"])').get("").strip()

我們看看網(wǎng)頁源代碼是如何得到的xpath。

 可能有人就要問了,這個

("").strip()

是什么意思?這個就是去除空格的,只是為了后期數(shù)據(jù)的美觀。

后面的我就不一一展示了,我直接放代碼了,不懂的在評論區(qū)交流。

tableShowMileage = detail_selector.xpath('//ul[@class="brand-unit-item fn-clear"]/li[1]/h4/text()').get("").strip()
theRegistrationTime = detail_selector.xpath('//ul[@class="brand-unit-item fn-clear"]/li[2]/h4/text()').get("").strip()
blockADisplacement = detail_selector.xpath('//ul[@class="brand-unit-item fn-clear"]/li[3]/h4/text()').get("").strip()
addr = detail_selector.xpath('//ul[@class="brand-unit-item fn-clear"]/li[4]/h4/text()').get("").strip()
guobiao = detail_selector.xpath('//ul[@class="brand-unit-item fn-clear"]/li[5]/h4/text()').get("").strip()
price = detail_selector.xpath('string(//span[@id="overlayPrice"])').get()

我們打印這些數(shù)據(jù),看看效果吧。

可能大家注意到了,有返回空值的,這個可能就是被反爬,大家感興趣可以用代理IP試試。 

保存數(shù)據(jù)

和我們上一篇一樣,我們先寫入字典,然后在寫入csv文件里面。

        dit ={
            '車輛':title,
            '表顯里程':tableShowMileage,
            '上牌時間':theRegistrationTime,
            '擋位/排量':blockADisplacement,
            '車輛所在地':addr,
            '查看限遷地':guobiao,
            '價格':price,
        }
        csv_writer.writerow(dit)

大家感興趣還可以獲取車輛信息更詳細的數(shù)據(jù),其實原理都是一樣的。

總結(jié)

通過本文的學(xué)習(xí),我們學(xué)習(xí)了數(shù)據(jù)采集。我們在采集數(shù)據(jù)的時候,遇到各種問題,自己在嘗試解決問題,也是在一種學(xué)習(xí),本次實戰(zhàn),我們明白如何使用xpath解析數(shù)據(jù)。

以上就是Python采集二手車數(shù)據(jù)的超詳細講解的詳細內(nèi)容,更多關(guān)于Python采集二手車數(shù)據(jù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中內(nèi)置函數(shù)filter函數(shù)用法詳解

    Python中內(nèi)置函數(shù)filter函數(shù)用法詳解

    filter()函數(shù)是Python內(nèi)置的另一個有用的高階函數(shù),filter()函數(shù)接收一個函數(shù)f和一個序列,函數(shù)f的作用是對每個元素進行判斷,返回True或False,下面這篇文章主要給大家介紹了關(guān)于Python中內(nèi)置函數(shù)filter函數(shù)用法的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • python中struct模塊之字節(jié)型數(shù)據(jù)的處理方法

    python中struct模塊之字節(jié)型數(shù)據(jù)的處理方法

    今天小編就為大家分享一篇python中struct模塊之字節(jié)型數(shù)據(jù)的處理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • Python中請不要再用re.compile了

    Python中請不要再用re.compile了

    這篇文章主要給大家介紹了關(guān)于Python中為何不要再用re.compile的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • python復(fù)合條件下的字典排序

    python復(fù)合條件下的字典排序

    這篇文章主要介紹了python復(fù)合條件下的字典排序,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python金融數(shù)據(jù)可視化匯總

    Python金融數(shù)據(jù)可視化匯總

    這篇文章主要介紹了Python金融數(shù)據(jù)可視化(兩列數(shù)據(jù)的提取,分別畫,雙坐標(biāo)軸,雙圖,兩種不同的圖)等內(nèi)容。
    2017-11-11
  • 如何使用python實現(xiàn)模擬鼠標(biāo)點擊

    如何使用python實現(xiàn)模擬鼠標(biāo)點擊

    這篇文章主要介紹了如何使用python實現(xiàn)模擬鼠標(biāo)點擊,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-01-01
  • python爬蟲要用到的庫總結(jié)

    python爬蟲要用到的庫總結(jié)

    在本篇內(nèi)容中小編給大家整理的是關(guān)于python爬蟲要用到的庫總結(jié)內(nèi)容,需要的朋友們可以學(xué)習(xí)下。
    2020-07-07
  • python實現(xiàn)監(jiān)控某個服務(wù) 服務(wù)崩潰即發(fā)送郵件報告

    python實現(xiàn)監(jiān)控某個服務(wù) 服務(wù)崩潰即發(fā)送郵件報告

    這篇文章主要為大家詳細介紹了python實現(xiàn)監(jiān)控某個服務(wù),服務(wù)崩潰發(fā)送郵件報告,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-06-06
  • matplotlib之Font family [‘sans-serif‘] not found的問題解決

    matplotlib之Font family [‘sans-serif‘] not&nbs

    本文主要介紹了matplotlib之Font family [‘sans-serif‘] not found的問題解決,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • Python2.7基于笛卡爾積算法實現(xiàn)N個數(shù)組的排列組合運算示例

    Python2.7基于笛卡爾積算法實現(xiàn)N個數(shù)組的排列組合運算示例

    這篇文章主要介紹了Python2.7基于笛卡爾積算法實現(xiàn)N個數(shù)組的排列組合運算,涉及Python笛卡爾積算法及排列組合操作相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2017-11-11

最新評論

桓仁| 洛川县| 雅江县| 临桂县| 长汀县| 靖州| 宁河县| 达尔| 金川县| 平度市| 汪清县| 宜兴市| 南皮县| 佛教| 中超| 资中县| 文昌市| 星子县| 大竹县| 洛隆县| 永兴县| 黔江区| 沭阳县| 阜康市| 吴旗县| 大田县| 若尔盖县| 同心县| 高台县| 绥棱县| 海城市| 江山市| 浦北县| 荥经县| 林周县| 安图县| 南涧| 无为县| 马鞍山市| 常宁市| 大荔县|