Страница: 1 | 2 |
Вопрос: Как вытащить все ссылки из php-файла?
Добавлено: 10.07.06 17:10
Автор вопроса: RomK aka Куций
Привет VB-шникам.
Вопрос такой:
как с помощью Visual Basic вытащить все ссылки из php-файла, что выляется на серваке?
Я знаю как вытащить ссылки из html-файла, но с php-файлом проблемы.
Спасибо.
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #1
Добавлено: 10.07.06 17:52
Только через FTP
Номер ответа: 2
Автор ответа:
RomK aka Куций
Вопросов: 6
Ответов: 13
Профиль | | #2
Добавлено: 10.07.06 17:55
Ну и причём тут FTP?
Ну закачаю я файл на Машину, а дальше с ним что делать? Ведь, что он на сервере PHP, что на Машине - один хрен!
Номер ответа: 3
Автор ответа:
Softer
ICQ: 203660381
Вопросов: 29
Ответов: 205
Web-сайт:
Профиль | | #3
Добавлено: 10.07.06 18:22
Так результат работы сервера PHP вроде ж чистый HTML... Сохрани его и обработай также как и HTML...
Номер ответа: 4
Автор ответа:
RomK aka Куций
Вопросов: 6
Ответов: 13
Профиль | | #4
Добавлено: 10.07.06 18:28
ОК. Каким образом? Подскажи!
Номер ответа: 5
Автор ответа:
Softer
ICQ: 203660381
Вопросов: 29
Ответов: 205
Web-сайт:
Профиль | | #5
Добавлено: 10.07.06 18:43
В IE (да и других) есть ф-я "Сохранить как". Так вот тебе ее нада реализовать. Но не просто сохранить исходный файл! Тебе нужен файл после обработки сервером. Сохраняешь результат на диск и обрабатываешь его как HTML.
ЗЫ: Как сделаешь - скажешь как сохранил результат работы сервера (ту HTML'ку).
ЗЗЫ: Сорри что так спутанно объяснил...
Номер ответа: 6
Автор ответа:
RomK aka Куций
Вопросов: 6
Ответов: 13
Профиль | | #6
Добавлено: 10.07.06 19:01
Хэх... Спасибо, но это я и сам знал...
Мне как раз и нужно знать как php-файл сохранить в html, что-бы потом сделать своё "грязное" дело и вытащить ссылки из файла.
Номер ответа: 7
Автор ответа:
BUG(O)R
ICQ: 827887
Вопросов: 13
Ответов: 142
Web-сайт:
Профиль | | #7
Добавлено: 10.07.06 20:11
А что там сохранять, скачай его просто да и всё, хотя бы той же URLDownloadToFile
Номер ответа: 8
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #8
Добавлено: 10.07.06 20:54
шо за бред, товарищи?
IE ненужен, нужны сокеты + GET запрос к указанной страницы, это и будет результат работы пхп скрипта.
И вопрос неправельно стоит, автор вопроса имеет ввиду вытащить ссылки со страницы, причём тут пхп?
Номер ответа: 9
Автор ответа:
RomK aka Куций
Вопросов: 6
Ответов: 13
Профиль | | #9
Добавлено: 10.07.06 20:57
Всё получилось. Результат ниже.
На форме нужно создать CommandButton [Command1] и ListBox [List1]
Private Declare Function URLDownloadToFile Lib "urlmon" Alias "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long
Dim X, Y, St1, St2, tmpY As Integer
Private Sub Form_Load()
 ownloadFile "http://www.g-com.kiev.ua/index.php", "F:\g-com.html"
End Sub
Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function
Private Sub Command1_Click()
StripURL ("F:\g-com.html"
End Sub
Public Sub StripURL(FilePath As String)
Dim tmpURL1, tmpURL2 As String
Open FilePath For Input As #1
Do Until EOF(1)
Input #1, tmpURL1
For X = 1 To Len(tmpURL1)
tmpURL2 = Mid(tmpURL1, X, 7)
If tmpURL2 = "http://" Then
St1 = X
tmpY = X
For Y = 1 To Len(tmpURL1)
tmpURL2 = Mid(tmpURL1, tmpY, 1)
If tmpURL2 = Chr(34) Then
St2 = tmpY
List1.AddItem Mid(tmpURL1, St1, ((St2 - St1)))
Exit For
Else
tmpY = tmpY + 1
End If
Next Y
End If
Next X
Loop
Close #1
End Sub
Всем спасибо!
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 10.07.06 21:30
теперь возмь измени свой g-com.html, и попробуй поновой ))
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 10.07.06 21:31
всмысле index.php измени...
Номер ответа: 12
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #12
Добавлено: 10.07.06 22:47
- При том, что когда ты открываешь ПХП по HTTP протоколу (как раз это и делает URLDownloadToFile в твоей проге), то его содержание зависит от условий при кот. он открывается, т.е. он может содержать 100 ссылок, а при других условиях - ни одной. Потому, что он пхп, а не хтмл (конечно, если он действительно содержит какую-то пхп-логику). А когда ты качаешь пхп по ftp протоколу, то на выходе получаешь реальный пхп-код.
Так что твоя прога:
1. Выдирает только абсолютные ссылки (а как на счет относительных? )
2. Выдирает их не из PHP файла, а из HTML кода, присланного тебе сервером в ответ на твой запрос PHP файла.
Номер ответа: 13
Автор ответа:
RomK aka Куций
Вопросов: 6
Ответов: 13
Профиль | | #13
Добавлено: 10.07.06 23:34
Так что твоя прога:
1. Выдирает только абсолютные ссылки (а как на счет относительных? )
2. Выдирает их не из PHP файла, а из HTML кода, присланного тебе сервером в ответ на твой запрос PHP файла.
Ну нахрена мне php-код, если у меня права на этот сайт root. Не в этом вопрос. Мне как раз нужны адреса, куда ссылаются баннеры, что на данной странице, а не php-код Так как баннеры формируются не на стророне сервера, а на стороне клиента - логично, что мне как раз нужен именно html-код.
Но всё-равно спасибо. Может когда-нибудь, Серёга, твой совет мне пригодится.
Номер ответа: 14
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #14
Добавлено: 12.07.06 01:08
URLDownloadToFile привязан к кэшу IE, изменив файл index.php и закачав его заново URLDownloadToFile, получишь старый файл, т.к. на самом деле файл небудет скачан заново, он будет получен из кэша...
Номер ответа: 15
Автор ответа:
BUG(O)R
ICQ: 827887
Вопросов: 13
Ответов: 142
Web-сайт:
Профиль | | #15
Добавлено: 12.07.06 14:13
Что-то я не вижу, где сказано, что файл будет скачиваться много раз?
URLDownloadToCacheFileA