Web scraping 将单个网页表编译为单个Excel可读表
我想为亚利桑那州的所有脊医创建一个总的联系信息列表。董事会网站列出了所有脊医,但我必须点击查看每个人的地址和电话号码Web scraping 将单个网页表编译为单个Excel可读表,web-scraping,Web Scraping,我想为亚利桑那州的所有脊医创建一个总的联系信息列表。董事会网站列出了所有脊医,但我必须点击查看每个人的地址和电话号码 如何将每位脊医的所有信息转换成一个电子表格行格式?这很简单。在您的第一张工作表中,执行“数据>外部数据>来自网站”。粘贴URL,选择主表,然后执行下一步并将其放入A1中 在VBA编辑器中,粘贴并执行以下公式。它将从网站检索所有数据并将其粘贴到Sheet2中。剩下的只是重新组织数据,这不是你问题的主题,所以我把它留给你 Sub ExtractAllData() Dim de
如何将每位脊医的所有信息转换成一个电子表格行格式?这很简单。在您的第一张工作表中,执行“数据>外部数据>来自网站”。粘贴URL,选择主表,然后执行下一步并将其放入A1中 在VBA编辑器中,粘贴并执行以下公式。它将从网站检索所有数据并将其粘贴到Sheet2中。剩下的只是重新组织数据,这不是你问题的主题,所以我把它留给你
Sub ExtractAllData()
Dim dest As Range, license As Range
Dim license_no As String
Worksheets("Feuil2").Select
Set dest = Worksheets("Feuil2").Range("A1")
Set license = Worksheets("Feuil1").Range("C3")
Do Until license.Value = ""
license_no = Mid(license.Value, 1, InStr(1, license.Value, " "))
With Worksheets("Feuil2").QueryTables.Add(Connection:= _
"URL;http://www.azchiroboard.us/ProDetail.asp?LicenseNo=" & license_no, Destination:= _
dest)
.Name = "ProDetail.asp?LicenseNo=" & license_no
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlSpecifiedTables
.WebFormatting = xlWebFormattingNone
.WebTables = "1"
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = False
.WebDisableRedirections = False
.Refresh BackgroundQuery:=False
End With
Set dest = Range("A65535").End(xlUp)
Set dest = dest.Offset(1, 0)
Set license = license.Offset(1, 0)
Loop
End Sub
对于这个记录,我花了1分钟的时间才弄清楚如何从主表中检索数据。1分钟,找出该链接只调用带有许可证号的PHP页面。1分钟录制宏,然后5分钟调整宏并修复我所犯的错误。您可以访问代码/数据库还是仅访问您链接的网页?欢迎使用stackoverflow。为了得到有用的答案,你需要让你的问题更加具体:你需要借助php、python或其他脚本语言来浏览网站。如果你知道如何使用这些工具,请澄清。生成CSV或Excel文件很简单-您的问题几乎与Excel无关。谢谢!我想让每个脊医的数据占据一行,但在本例中,我为此编写了第二个宏。我花了超过8分钟的时间,但我想这是真的,当你知道如何。