有没有办法将网页拼接(分页)?
例如,我想要打印出来 这个帖子 ,但它分为10个部分; 如何将它们组合在一起以使打印更容易,更有效?
我更喜欢基于网络的快速解决方案,但简单的离线工具也是可以接受的(我已经下载了每个部分并手动将文件合并到一个html文件中,之后......)
编辑: 我忘了提到我在Vista Enterprise上使用Opera
有没有办法将网页拼接(分页)?
例如,我想要打印出来 这个帖子 ,但它分为10个部分; 如何将它们组合在一起以使打印更容易,更有效?
我更喜欢基于网络的快速解决方案,但简单的离线工具也是可以接受的(我已经下载了每个部分并手动将文件合并到一个html文件中,之后......)
编辑: 我忘了提到我在Vista Enterprise上使用Opera
Answers:
如果您不想打扰插件,可以尝试查看是否有一个版本的网站将转储打印版本的所有内容。
对于大多数论坛,通常有一个lofi版本,它将删除分页并在一个页面上显示整个线程。诀窍是找到该特定论坛软件的页面/目录。
在您的情况下,HealthBoards在vBulletin上运行,而lofi路径就是这样 /archive/
。这应该是目录到板本身之后的新路径,如下所示:
从那里,您可以导航回该主题并查看单个页面上的所有帖子。
原始帖子在这里:
快速的方法是在之后获取该值 t=
(在下一个&符之前( &
)在URL中)并在必要时替换如下:
http://www.healthboards.com/boards/archive/index.php/t-296667.html
如果您使用的是Firefox我建议使用 自动翻页 延期。它将遍历所有页面并将它们组合成一个大页面,然后您可以打印出为您创建的整个页面。
对于大多数网站,它可以自动将单独的页面加入到单个页面中,但对于某些页面,您必须告诉它链接的位置。
这个解决方案适用于unix,但我相信你可以找到vista的等价物。
首先,使用wget下载文件:
wget -nd -k -p "http://www.healthboards.com/boards/printthread.php?t=296667&pp=20&page="{1,2,3,4,5,6,7,8,9,10} --wait 5
然后用cat连接它们。我不知道这个命令的窗口等价,但肯定必须有一个:
cat "printthread.php?t=296667&pp=20&page="* > hello.html
文件hello.html将是一个包含所有线程页面的大文件。你可能会因为所有页面都有vbulletin徽标而感到恼火!
编辑:这是 wget的 对于窗户。当然,你可以使用其他一些下载管理器
和 这里 是如何在Windows上连接文件。
如果你不介意花一些钱,那里有商业应用程序。我用过ClickBook BlueSquirrel 除其他外,它可以拼接多个打印输出。
您可以使用Microsoft Excel(如果您有一个:)) 它具有进行Web查询的功能(菜单:数据>导入外部数据> Web查询)
我录制了VBA宏并进行了一些更改,因此您可以向第一张表添加地址, 喜欢:(每个地址都在下一个单元格中)
http://www.healthboards.com/boards/printthread.php?t=296667&pp=20&page=1 ............................................. /板/ printthread。 PHP T = 296667&安培; PP = 20&安培;页= 2 ............................................. /板/ printthread。 PHP T = 296667&安培; PP = 20&安培;页= 3
然后运行此宏并获取结果。 它帮助了我。
宏:
Sub Macro2()
'
' Macro2 Macro
'
Dim url As String
Dim count As Integer
Dim resaultSheet As String
Dim adressesSheet As String
adressesSheet = ActiveSheet.Name
resaultSheet = Sheets.Add().Name
Sheets(adressesSheet).Select
Sheets(adressesSheet).Cells(1, 1).Select
ActiveCell.SpecialCells(xlLastCell).Select
count = ActiveCell.Row
Sheets(resaultSheet).Select
Sheets(resaultSheet).Cells(1, 1).Select
For i = 1 To count
url = "URL;" + Sheets(adressesSheet).Cells(i, 1)
With ActiveSheet.QueryTables.Add(Connection:= _
url, Destination _
:=ActiveCell)
.Name = "name"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = False
.RefreshOnFileOpen = False
.BackgroundQuery = True
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.WebSelectionType = xlEntirePage
.WebFormatting = xlWebFormattingAll
.WebPreFormattedTextToColumns = True
.WebConsecutiveDelimitersAsOne = True
.WebSingleBlockTextImport = False
.WebDisableDateRecognition = True
.WebDisableRedirections = True
.Refresh BackgroundQuery:=False
End With
ActiveCell.SpecialCells(xlLastCell).Select
Cells(ActiveCell.Row + 1, 1).Select
Next i
End Sub