2014-11-20 4 views
-2

Я работаю с HP Operations Orchestration, и я делаю поток, который должен читать TXT-файл (который содержит исходный код HTML) и получать от него информацию. То, что я хочу получить, - это данные между тегами <h2></h2>.Как получить данные из TXT-файла?

К сожалению, когда я запускаю свой поток, рабочий компонент «Read from file» запускает бесконечный цикл и работает без остановки.

Возможно, кто-нибудь работает с этой программой и знает, что я могу сделать, чтобы получить те данные, которые я хочу? Если вам нужна дополнительная информация, напишите в комментариях.

Некоторые сведения:

  • Я получил исходный код с помощью сценария PowerShell
  • Я не использую никаких скриптов JavaScript (но я могу добавить их)
+0

Смутный обзор рабочего процесса не содержит достаточного количества данных для отладки. Также не существует [минимального, полного и проверяемого примера] (http://stackoverflow.com/help/mcve) о проблеме. – vonPryz

ответ

1

Это должно работать :

$data >> "$env:USERPROFILE/sc.txt" 
$result  =  Get-Content "$env:USERPROFILE/sc.txt" | foreach { if ($_ -match "<h2>(.*?)</h2>"){ $matches[1]}} 
+0

К сожалению, это дает мне пустой файл. –

+0

Я исправил одну ошибку, но теперь у меня есть целый исходный код в обоих файлах. Но я все еще работаю. –

+0

Исправлена ​​также часть регулярного выражения, это должно помочь больше. –

0

@Micky Balladelli

Вот мой код PowerShell:

Clear-Host 

# Create TXT file that containing source code 
If (Test-Path "$env:USERPROFILE/sc.txt") 
{ 
Remove-Item "$env:USERPROFILE/sc.txt" 
} 
New-Item -name "sc.txt" -path "$env:USERPROFILE" -type file 

If (Test-Path "$env:USERPROFILE/titles.txt") 
{ 
Remove-Item "$env:USERPROFILE/titles.txt" 
} 
New-Item -name "titles.txt" -path "$env:USERPROFILE" -type file 

# Create an Internet Explorer com object 
$URL  =  "geekweek.pl" 
$wc   =  New-Object System.Net.WebClient 
$ie   =  New-Object -com InternetExplorer.Application 
$ie.visible =  $true 
$ie.navigate($URL) 
while ($ie.busy) 
{ 
start-sleep -second 10 
} 

$doc  =  $ie.Document 
$data  =  $wc.DownloadString("http://www.geekweek.pl") 

$data >> "$env:USERPROFILE/sc.txt" 

$result  =  Get-Content "$env:USERPROFILE/sc.txt" | foreach { $_ -split "<h2>(.*?)</h2>" -join ''} 

$result >> "$env:USERPROFILE/titles.txt" 

$ie.Quit() 

Где:

  • sc.txt - содержит исходный код "geekweek.pl"
  • titles.txt - файл, в котором хотите сохранить данные <h2></h2>

на самом деле у меня есть весь код в titles.txt

Смежные вопросы