欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
VBA抓取規劃局規劃公示

有了上次抓取糗事百科網(wǎng)頁(yè)圖片的經(jīng)驗,我們這次來(lái)抓取一下天津市規劃局官網(wǎng)規劃公示信息,從2009年-2018年公示的所有規劃的規劃圖。

要發(fā)車(chē)了,各位坐穩。

規劃局規劃公示頁(yè)面,一共110頁(yè),3800多項。

點(diǎn)開(kāi)其中一項以后,會(huì )出現項目規劃信息及圖片。

咱們的目的就是抓取規劃信息中的圖片。

一、抓取思路

循環(huán)打開(kāi)110個(gè)網(wǎng)頁(yè),在每個(gè)網(wǎng)頁(yè)中對單項規劃進(jìn)行循環(huán)打開(kāi),保存其中的圖片。這次需要用到一個(gè)網(wǎng)抓利器,fiddler軟件。利用fiddler軟件抓取網(wǎng)頁(yè)提交和返回的信息,找到相應參數,用send方法提交申請。

聽(tīng)著(zhù)太簡(jiǎn)單了

,一句兩句說(shuō)不清,大家后臺回復“網(wǎng)抓”,我會(huì )發(fā)一些論壇的整合教程資料。

二、抓取效果

部分抓取的圖片,對于比較大的圖片(10m以上),抓取速度會(huì )有點(diǎn)慢。

項目規劃信息網(wǎng)址、公示發(fā)布日期。

三、代碼部分

這次抓取涉及到動(dòng)態(tài)參數的獲取,代碼有點(diǎn)多。具有動(dòng)態(tài)參數的網(wǎng)頁(yè)大多是aspx網(wǎng)頁(yè)

Sub 下載天津市規劃局規劃()

    Dim strurl$, i%, n%, arr(), b() As Byte

    For i = 1 To 110  '定義提取的頁(yè)碼

        strurl = "http://gh.tj.gov.cn/newslist.aspx?id=CK0401"

        With CreateObject("MSXML2.XMLHTTP")

            '第一次GET,獲取動(dòng)態(tài)參數VIEWSTATE和EVENTVALIDATION

            .Open "GET", strurl, False

            .send

            strText = .responseText

            VIEWSTATE = encodeURI(CStr(Split(Split(strText, "__VIEWSTATE"" value=""")(1), """ />")(0)))

            EVENTVALIDATION = encodeURI(CStr(Split(Split(strText, "__EVENTVALIDATION"" value=""")(1), """ />")(0)))

            strText = .responseText

            VIEWSTATE = encodeURI(CStr(Split(Split(strText, "__VIEWSTATE"" value=""")(1), """ />")(0)))

            EVENTVALIDATION = encodeURI(CStr(Split(Split(strText, "__EVENTVALIDATION"" value=""")(1), """ />")(0)))

            '這里的翻頁(yè)動(dòng)作是POST提交類(lèi)型,將取得的動(dòng)態(tài)參數寫(xiě)入需要send發(fā)送的參數中。

            .Open "POST", strurl, False

            .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"

            .send "&__EVENTARGUMENT=" & i _

                & "&__EVENTTARGET=AspNetPager1" _

                & "&__EVENTVALIDATION=" & EVENTVALIDATION _

                & "&__VIEWSTATE=" & VIEWSTATE _

                & "&__VIEWSTATEGENERATOR=14DD91A0" _

                & "&AspNetPager1_input=" & i & "-1" _

                & "&HiddenFieldPageFinished=1" _

                & "&pkid=CK0401" _

                & "&pkid2=3" _

                & "&newskindid=CK0401" _

                & "&Left1$ddl_cname=CK" _

                & "&Left1$tb_search=" _

                & "&Left1$rbl_site=title"

            strText = .responseText

            '正則獲取單個(gè)規劃的網(wǎng)址信息

            Open ThisWorkbook.Path & "\圖片\1.txt" For Output As #1

            Print #1, strText

            Close

            Set reg = CreateObject("vbscript.regexp")

            reg.Global = True

            reg.IgnoreCase = True

            reg.MultiLine = True

            reg.Pattern = "<a href='(news.aspx\?id=\d+)'>(.*?)<\/a><\/td>\s*<td align=""right"" >(\d+-\d+-\d+)</td>"

            n = 0

            For Each mat In reg.Execute(strText)

                n = n + 1

                ReDim Preserve arr(1 To 3, 1 To n)

                arr(1, n) = "http://gh.tj.gov.cn/" & mat.SubMatches(0) '正則取出的網(wǎng)址

                arr(2, n) = mat.SubMatches(1)   '正則取出的單項規劃

                arr(3, n) = mat.SubMatches(2) '正則取出的規劃公示時(shí)間

            Next mat

            brr = Application.Transpose(arr)

            rrow = ActiveSheet.Cells(Rows.Count, "a").End(3).Row + 1

            ActiveSheet.Range("a" & rrow).Resize(UBound(brr), 3) = brr

            '循環(huán)打開(kāi)單個(gè)規劃網(wǎng)址,保存圖形文件

            Set xml = CreateObject("MSXML2.XMLHTTP")

            For r = 1 To UBound(brr)

                xml.Open "GET", brr(r, 1), False

                xml.send

                Do While xml.ReadyState <> 4

                    DoEvents

                Loop

                strr = xml.responseText

                reg.Pattern = "\/Files\/image\/\d+\.jpg"

                If reg.Test(strr) Then   '保存網(wǎng)頁(yè)圖片

                k = 0

                For Each mat In reg.Execute(strr)

                    Set xmlhttp = CreateObject("MSXML2.XMLHTTP")

                    k = k + 1

                    xmlhttp.Open "GET", "http://gh.tj.gov.cn" & mat, False

                    xmlhttp.send

                    Do While xmlhttp.ReadyState <> 4

                        DoEvents

                    Loop

                    b = xmlhttp.responseBody

                    On Error Resume Next  '排除文件名過(guò)長(cháng)的圖片

                    Open "C:\圖片\" & brr(r, 2) & k & ".jpg" For Binary As #1

                    Put #1, , b

                    Close

                Next

            Else

            End If

        Next

    End With

Next

MsgBox "完成"

End Sub

Function encodeURI(strText As String) As String

With CreateObject("msscriptcontrol.scriptcontrol")

    .Language = "JavaScript"

    encodeURI = .Eval("encodeURIComponent('" & strText & "');")

End With

End Function

說(shuō)幾個(gè)知識點(diǎn):① encodeURI函數,是我們自己定義的轉碼函數。

②匹配漢字和數字結合的正則表達式寫(xiě)法為:.*?

四、很粗糙的做一個(gè)數據分析(大佬輕噴......)

網(wǎng)抓了這么多數據,沒(méi)有一些感性上的認識,都白抓取了。

將網(wǎng)抓的數據上傳到BDP個(gè)人版中,用現在很流行的詞云圖簡(jiǎn)單的分析了一下天津市規劃的重點(diǎn)區域,可以看出,天津市近幾年項目公示最多的區域基本都是環(huán)城四區。

事實(shí)上由于市內六區土地利用的日益飽和,目前天津市也在重點(diǎn)大力發(fā)展環(huán)城四區及遠郊地區,一些高校和醫院等都遷往環(huán)城四區。天大,南開(kāi)新校區都在津南區。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
網(wǎng)頁(yè)分頁(yè)數據的三種抓取方式(轉載)
VSTS測試網(wǎng)站
HttpWebRequest開(kāi)發(fā)
需要批量下載網(wǎng)上的圖片,Excel行不行?當然行!
傳智播客:ajax學(xué)習筆記---解決瀏覽器緩存和中文亂碼 - habernate的日志 -...
不懂html也來(lái)學(xué)網(wǎng)抓(xmlhttp/winhttp fiddler)三
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久