成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

Python利用正則抓取網(wǎng)頁(yè)內(nèi)容保存到本地

cyrils / 1832人閱讀

摘要:注意一點(diǎn),到屏幕上時(shí),需要將中文字符解碼為才能打印,寫入文件是不需要的。

目標(biāo)是收集國(guó)內(nèi)銀行的域名列表,于是在人行的網(wǎng)站上找到了匯總信息,網(wǎng)址是http://www.cbrc.gov.cn/chinese/jrjg/index.html
截圖是

查看一下他的html源碼,需要抓取部分的是:

  • 中國(guó)工商銀行
  • 中國(guó)農(nóng)業(yè)銀行
  • 提煉一下,我們需要提取的是Url和銀行的名稱,那么可以先把源碼中的t刪除,然后用正則表達(dá)式匹配

    
    (.*)
    

    分析完畢,下面是代碼實(shí)現(xiàn)了,第一個(gè)版本如下:

    #!/usr/bin/env python
    # -*- encoding: utf-8 -*-
    import os,re
    import mechanize
    
    browser = mechanize.Browser()
    browser.addheaders = [("User-agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1")]
    res  = browser.open("http://www.cbrc.gov.cn/chinese/jrjg/index.html")
    data = res.read()
    data = data.replace("	","")
    regx = "
    (.*)
    "
    domainlist =  re.findall(regx,data)
    print len(domainlist)
    for domain in domainlist:
        print domain[1].decode("utf-8"), domain[0] 
    
    with open(u"金融.txt","wb") as fp:
        str1 = ""
        for domain in domainlist:
                str1 += domain[1]+ "----" + domain[0] + "----"+ "
    "
        fp.write(str1)
    

    首先聲明一個(gè)瀏覽器對(duì)象,并修改了其http頭的user-agent信息;然后打開(kāi)Url,獲取Html源碼,并將"t"刪除;之后利用Python的正則匹配,將Url和銀行名稱提煉出來(lái);最后將這些信息寫入到文件中。
    注意一點(diǎn),print到屏幕上時(shí),需要將中文字符解碼為utf-8才能打印,寫入文件是不需要的。

    那么升級(jí)一下,我需要的不是url,而是銀行對(duì)應(yīng)的域名,可以用tld模塊來(lái)提取
    import部分添加

    from tld import get_tld

    在使用tld模塊從url提取域名的過(guò)程中,會(huì)發(fā)現(xiàn)莫名其妙的問(wèn)題,不知道是提取正則提取Url時(shí),url不規(guī)范導(dǎo)致的還是其他原因,總有一些Url沒(méi)法提取域名,于是會(huì)發(fā)生報(bào)錯(cuò)信息,我這邊從新寫了一下,增加容錯(cuò)性

    def my_get_tld(url):
        try:
            str = get_tld(url = url,fail_silently=True)
            if str == None:
                return ""
            else:
                return str.encode("utf8")
        except:
            return ""

    于是寫入文本的代碼修改成

    with open(u"金融.txt","wb") as fp:
        str1 = ""
        for domain in domainlist:
                str1 += domain[1]+ "----" + domain[0] + "----" + my_get_tld(url = domain[0]) + "
    "
        fp.write(str1)

    OK,運(yùn)行之后就可以得到需要的內(nèi)容了

    文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

    轉(zhuǎn)載請(qǐng)注明本文地址:http://m.hztianpu.com/yun/38015.html

    相關(guān)文章

    • python爬蟲抓取純靜態(tài)網(wǎng)站及其資源

      摘要:下面跟大家詳細(xì)分享一下寫爬蟲抓取靜態(tài)網(wǎng)站的全過(guò)程。而我們上面說(shuō)的元字符都代表一定的規(guī)則和占據(jù)一定的字符。 遇到的需求 前段時(shí)間需要快速做個(gè)靜態(tài)展示頁(yè)面,要求是響應(yīng)式和較美觀。由于時(shí)間較短,自己動(dòng)手寫的話也有點(diǎn)麻煩,所以就打算上網(wǎng)找現(xiàn)成的。 中途找到了幾個(gè)頁(yè)面發(fā)現(xiàn)不錯(cuò),然后就開(kāi)始思考怎么把頁(yè)面給下載下來(lái)。 由于之前還沒(méi)有了解過(guò)爬蟲,自然也就沒(méi)有想到可以用爬蟲來(lái)抓取網(wǎng)頁(yè)內(nèi)容。所以我采取的辦...

      daydream 評(píng)論0 收藏0
    • 小白看過(guò)來(lái) 讓Python爬蟲成為你的好幫手

      摘要:小白看過(guò)來(lái)讓爬蟲成為你的好幫手隨著信息化社會(huì)的到來(lái),人們對(duì)網(wǎng)絡(luò)爬蟲這個(gè)詞已經(jīng)不再陌生?;?dòng)活動(dòng)關(guān)于華為云微認(rèn)證的任何問(wèn)題,均可在下方評(píng)論區(qū)留言。華為云微認(rèn)證每期將送出個(gè)免費(fèi)機(jī)會(huì),獎(jiǎng)項(xiàng)公布時(shí)間月日。 小白看過(guò)來(lái) 讓Python爬蟲成為你的好幫手 隨著信息化社會(huì)的到來(lái),人們對(duì)網(wǎng)絡(luò)爬蟲這個(gè)詞已經(jīng)不再陌生。但什么是爬蟲,如何利用爬蟲為自己服務(wù),這聽(tīng)起來(lái)有些高大上。下面一文帶你走近爬蟲世界,讓即...

      darcrand 評(píng)論0 收藏0
    • 爬蟲 - 收藏集 - 掘金

      摘要:在這之前,還是有必要對(duì)一些概念超輕量級(jí)反爬蟲方案后端掘金前言爬蟲和反爬蟲日益成為每家公司的標(biāo)配系統(tǒng)。 爬蟲修煉之道——從網(wǎng)頁(yè)中提取結(jié)構(gòu)化數(shù)據(jù)并保存(以爬取糗百文本板塊所有糗事為例) - 后端 - 掘金歡迎大家關(guān)注我的專題:爬蟲修煉之道 上篇 爬蟲修煉之道——編寫一個(gè)爬取多頁(yè)面的網(wǎng)絡(luò)爬蟲主要講解了如何使用python編寫一個(gè)可以下載多頁(yè)面的爬蟲,如何將相對(duì)URL轉(zhuǎn)為絕對(duì)URL,如何限速,...

      1fe1se 評(píng)論0 收藏0
    • Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---17、爬蟲基本原理

      摘要:在前面我們講到了和的概念,我們向網(wǎng)站的服務(wù)器發(fā)送一個(gè),返回的的便是網(wǎng)頁(yè)源代碼。渲染頁(yè)面有時(shí)候我們?cè)谟没蜃ト【W(wǎng)頁(yè)時(shí),得到的源代碼實(shí)際和瀏覽器中看到的是不一樣的。所以使用基本請(qǐng)求庫(kù)得到的結(jié)果源代碼可能跟瀏覽器中的頁(yè)面源代碼不太一樣。 上一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---16、Web網(wǎng)頁(yè)基礎(chǔ)下一篇文章:Python3網(wǎng)絡(luò)爬蟲實(shí)戰(zhàn)---18、Session和Cookies 爬蟲,即網(wǎng)...

      hellowoody 評(píng)論0 收藏0
    • Python爬蟲實(shí)戰(zhàn)(2):爬取京東商品列表

      摘要:,源代碼爬取京東商品列表,以手機(jī)商品列表為例示例網(wǎng)址版本京東手機(jī)列表源代碼下載位置請(qǐng)看文章末尾的源。,抓取結(jié)果運(yùn)行上面的代碼,就會(huì)爬取京東手機(jī)品類頁(yè)面的所有手機(jī)型號(hào)價(jià)格等信息,并保存到本地文件京東手機(jī)列表中。 showImg(https://segmentfault.com/img/bVxXHW); 1,引言 在上一篇《python爬蟲實(shí)戰(zhàn):爬取Drupal論壇帖子列表》,爬取了一個(gè)用...

      shevy 評(píng)論0 收藏0

    發(fā)表評(píng)論

    0條評(píng)論

    閱讀需要支付1元查看
    <