извлекать данные XML / контент из URL с помощью сценариев оболочки - PullRequest
0 голосов
/ 15 марта 2011

Мне нужно, чтобы содержимое XML было загружено в файл file.xml с URL-адреса. Например, это URL-адрес http://www.pistonheads.co.uk/xml/news091.asp?c=26 Я хочу извлечь его содержимое XML следующим образом в файл file.xml

<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="0.91">
<channel>
<title>PistonHeads (Motoring News)</title>
<link>http://www.pistonheads.com/news/</link>
<description>Motoring News</description>

<item>
<title>Bowler Nemesis Joins Spyker At CPP</title>
<description>Plans confired for Nemesis EXR road car to be built in Coventry</description>
</item>
</channel>
</rss>

Я попробовал wget "url" -o file.xml ... и когда я открываю file.xml ... он просто возвращает

http://www.pistonheads.co.uk/xml/news091.asp?c=26=> `news091.asp? c = 26 'Решение www.pistonheads.co.uk ... готово.Подключение к www.pistonheads.co.uk http://xx.xxx.xxx.xx подключено.HTTP-запрос отправлен, ожидая ответа ... 200 OK Длина: 5 016 текст / xml

0K .... 100% 445,31 КБ / с

13: 37: 13 (445,31 КБ / с)) - `news091.asp? c = 26 'сохранено 5016/5016

Есть ли другой способ решить эту проблему? ..

1 Ответ

0 голосов
/ 15 марта 2011

Если вы хотите использовать это в качестве выходных данных:

PistonHeads (Motoring News) http://www.pistonheads.com/news/ Motoring News

Тогда это поможет:

wget -q -O - http://www.pistonheads.co.uk/xml/news091.asp?c=26 \
  | egrep '(title>|link>|description>)' | head -3 \
  | sed -e 's/.*>\([^>]*\)<.*/\1/' | tr '\n' ' '

Если вы просто хотите, чтобы вывод ссылки был записан в файл, используйте это:

wget -O file.xml http://www.pistonheads.co.uk/xml/news091.asp?c=2

Обратите внимание на заглавную букву O для опции записи файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...