Jump to content

Recommended Posts

Posted

hi, I have a question about how to get data

I receive data in the first block

http://prnt.sc/cp2zap

#include <MsgBoxConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <Inet.au3>
#include <String.au3>

$FileName = "sitemap"
Global $sitelisturl = "https://wmtrseo.wordpress.com/sitemap.xml"
$downloadtemp = @ScriptDir & '\sitefiles\sitemap.xml'
$aTime = 10

While 1
        If FileExists(@ScriptDir & "\" & $FileName) Then
          $xmlfilesize = FileGetSize($downloadtemp)
          MsgBox(0 , "Size",$xmlfilesize)
         Else
             DirCreate(@ScriptDir & "\" & "sitefiles")
             $inetgetsites = InetGet($sitelisturl, $downloadtemp, 1, 1)
             Sleep(1000)
             $xmlfilesize = FileGetSize($downloadtemp)
             MsgBox(0 , "Size",$xmlfilesize)
         EndIf
         $older = FileGetSize($downloadtemp)
  Sleep($aTime * 1000)
  $anew = FileGetSize($downloadtemp)
  If $anew <> $older Then
      $aUrlinetread = InetRead($sitelisturl,0)
$aUrlread = BinaryToString($aUrlinetread, 4)
$aUrlextract = _StringBetween($aUrlread, 'sitemap.xsd"><url><loc>','</loc><mobile:' -1)
FileOpen(@ScriptDir & '\URLs.txt', 1)
FileWrite(@ScriptDir & '\URLs.txt', $aUrlextract[0] & @CRLF)
FileClose(@ScriptDir & '\URLs.txt')
  EndIf
Wend

 

Posted

Did you try XML.au3 UDF

You can find it in my signature.

Signature beginning:
Please remember: "AutoIt"..... *  Wondering who uses AutoIt and what it can be used for ? * Forum Rules *
ADO.au3 UDF * POP3.au3 UDF * XML.au3 UDF * IE on Windows 11 * How to ask ChatGPT for AutoIt Codefor other useful stuff click the following button:

  Reveal hidden contents

Signature last update: 2023-04-24

Posted

The _StringBetween expression was good (once the typo corrected)

#include <String.au3>

Global $sitelisturl = "https://wmtrseo.wordpress.com/sitemap.xml"
$aUrlread = BinaryToString(InetRead($sitelisturl,0), 4)

$aUrlextract = _StringBetween($aUrlread, 'sitemap.xsd"><url><loc>','</loc><mobile:')
Msgbox(0,"", $aUrlextract[0])

; other way
$aUrlextract = StringRegExp($aUrlread, '<loc>([^<]+)', 1)
Msgbox(0,"", $aUrlextract[0])

 

Posted

I want to get the URLs changes to XML, but there is a problem because

#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <MsgBoxConstants.au3>
#include <File.au3>
#include <Array.au3>
#include <Inet.au3>
#include <String.au3>

$FileName = "sitemap"
$downloadtemp = @ScriptDir & '\sitefiles\sitemap.xml'
$aTime = 10

$Form1 = GUICreate("Form1", 615, 322, 192, 124)
$Edit1 = GUICtrlCreateEdit("", 24, 40, 393, 225)
;GUICtrlSetData(-1, "")
GUICtrlSetData(-1, FileRead(@ScriptDir & "\sitelist.txt"))
$aStart = GUICtrlCreateButton("Start", 128, 280, 75, 25)
$bStop = GUICtrlCreateButton("Stop", 216, 282, 75, 25)
GUISetState(@SW_SHOW)
While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
        Case $aStart
            _xmlread()

    EndSwitch
WEnd

Func _xmlread()
Local $sitelisturl = StringSplit(StringStripCR(GUICtrlRead($Edit1)), @LF)

While 1
    For $i = 1 To UBound($sitelisturl) - 1
        If FileExists(@ScriptDir & "\" & $FileName) Then
        $inetgetsites = InetGet($sitelisturl[$i], $downloadtemp, 1, 1)
         ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $inetgetsites[$i] = ' & $sitelisturl & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
         Else
             DirCreate(@ScriptDir & "\" & "sitefiles")
        $inetgetsites = InetGet($sitelisturl[$i], $downloadtemp, 1, 1)
         ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $sitelisturl[$i] = ' & $sitelisturl[$i] & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
         EndIf
         $older = FileGetSize($downloadtemp & $sitelisturl[$i])
  Sleep($aTime * 1000)
  $anew = FileGetSize($downloadtemp)
  If $anew <> $older Then
$aUrlread = BinaryToString(InetRead($sitelisturl[$i],0), 4)
 ConsoleWrite('@@ Debug(' & @ScriptLineNumber & ') : $aUrlread = ' & $aUrlread & @CRLF & '>Error code: ' & @error & @CRLF) ;### Debug Console
$aUrlextract = _StringBetween($aUrlread, '<loc>','</loc>')
FileOpen(@ScriptDir & '\URLs.txt', 1)
FileWrite(@ScriptDir & '\URLs.txt', $aUrlextract[0] & @CRLF)
FileClose(@ScriptDir & '\URLs.txt')
  EndIf
  Next
Wend
EndFunc

 

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...