Adeel M Ответов: 1

Скопируйте номер телефона и адрес электронной почты из таблицы из списка URL-адресов


У меня есть список всех 10000 url-адресов в листе excel, есть ли самый простой способ, которым я могу сделать задание автоматизации, чтобы открыть каждую ссылку и сохранить ее?
Phone number and email
данные в листе excel.

http://scci.com.pk/member-detail.php?id=1	
http://scci.com.pk/member-detail.php?id=2
http://scci.com.pk/member-detail.php?id=3
http://scci.com.pk/member-detail.php?id=4
http://scci.com.pk/member-detail.php?id=5
http://scci.com.pk/member-detail.php?id=6
http://scci.com.pk/member-detail.php?id=7
http://scci.com.pk/member-detail.php?id=8

любой совет очень ценится.

Что я уже пробовал:

я пробовал макрос, расширение chromium chrome, но и расширение chrome webscrape, но все это не сработало для меня . кто-то посоветовал мне, что это возможно через vba в течение нескольких минут открыть все 10000 url-адресов и сохранить все данные в листе excel

Richard MacCutchan

Вам нужно будет взять каждый элемент, открыть url-адрес, прочитать данные ответа, проанализировать их, чтобы найти детали, и сохранить их в новых ячейках на листе. Нетривиальная задача.

Richard MacCutchan

Я поражен, что эти люди публикуют свои личные данные на открытом веб-сайте таким образом.

Richard Deeming

Сначала убедитесь, что у вас есть разрешение на доступ к этим файлам:
Трой Хант: является ли перечисление ресурсов на веб-сайте "взломом"?[^]

1 Ответов

Рейтинг:
0

Maciej Los

Для scci.com.pk домен, вы можете использовать это:

Option Explicit

Sub CopySsciComData()
Dim srcWbk As Workbook
Dim lstWsh As Worksheet, srcWsh As Worksheet, dstWsh As Worksheet
Dim i As Integer, sAddress As String

On Error GoTo Err_CopySsciComData

'destination sheet
Set dstWsh = ThisWorkbook.Worksheets(2)
dstWsh.Range("A1") = "Contact Person"
dstWsh.Range("B1") = "Phone"
dstWsh.Range("C1") = "Mobile"
dstWsh.Range("D1") = "Email"
dstWsh.Range("A1:D1").Font.Bold = True

'sheet where links are stored
Set lstWsh = ThisWorkbook.Worksheets(1)
i = 2 'links started in second row
'loop through the collection of links
Do While lstWsh.Range("A" & i) <> ""
    'get address
    sAddress = lstWsh.Range("A" & i)
    'open worbook from link
    Set srcWbk = Workbooks.Open(Filename:=sAddress, ReadOnly:=True, AddToMru:=False)
    'get data
    Set srcWsh = srcWbk.Worksheets(1)
    srcWsh.Range("B5").Copy dstWsh.Range("A" & i)
    srcWsh.Range("B9").Copy dstWsh.Range("B" & i)
    srcWsh.Range("B10").Copy dstWsh.Range("C" & i)
    srcWsh.Range("B12").Copy dstWsh.Range("D" & i)
    Set srcWsh = Nothing
    srcWbk.Close SaveChanges:=False
    Set srcWbk = Nothing
    i = i + 1
Loop

Exit_CopySsciComData:
    'ignore errors
    On Error Resume Next
    If Not srcWbk Is Nothing Then srcWbk.Close SaveChanges:=False
    Set srcWbk = Nothing
    Set srcWsh = Nothing
    Set lstWsh = Nothing
    Set dstWsh = Nothing
    Exit Sub

Err_CopySsciComData:
    MsgBox Err.Description, vbExclamation, Err.Number
    Resume Exit_CopySsciComData
End Sub