Гость
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как парсить xml через url? / 11 сообщений из 11, страница 1 из 1
02.08.2020, 17:00
    #39985944
Cebek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
Есть URL 'data.alexa.com/data?cli=20&dat=snbamz&url=lol.com'

Из него я должен получить список всех доменов(не TITLE)

Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
import os
from urllib.request import  urlopen
from xml.etree.ElementTree import parse
from xml.dom import minidom



url = ('http://data.alexa.com/data?cli=20&dat=snbamz&url=lol.com')
xmlinfo = parse(url)

for item in xmldoc.iterfind('Alexa/RLS'):

     domain = item.findtext('RL')

     print(title)


Пробовал вывести просто элемент но ничего не вышло
...
Рейтинг: 0 / 0
02.08.2020, 18:35
    #39985961
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
что? решили переходить на Алексу? хорошее решение!

ну, например, начнем с начала, перед тем как начать парсить xml данные, их нужно сначала откуда-то получить
вариант 1: скопипастить xml файл в переменную
вариант 2: считать файл с диска
вариант 3: послать запрос по url
...
Рейтинг: 0 / 0
02.08.2020, 18:47
    #39985965
Cebek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
mini.weblab,

Так это ж и есть ссылка на xml. Я уже понял что можно использовать модуль requests. Запрос я сделал. Но как увидеть контент что внутри.
...
Рейтинг: 0 / 0
02.08.2020, 19:10
    #39985969
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
Cebek,
из вашего кода не видно, что вы что-то запрашивали: то что библиотеку импортировали вижу, а запроса по url не вижу
...
Рейтинг: 0 / 0
02.08.2020, 19:33
    #39985971
Cebek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
mini.weblab,
Вот по URL
Код: python
1.
2.
3.
url = ('http://data.alexa.com/data?cli=20&dat=snbamz&url=lol.com')
 r = requests.get(url)
 print(r.status_code)



А вот через файл
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
url1 = ('data.xml')
xmlinfo = parse(url1)

for item in xmlinfo.iterfind('Alexa/RLS'):

     domain = item.findtext('RL')
   
     print(domain)  
...
Рейтинг: 0 / 0
02.08.2020, 20:05
    #39985975
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
Cebek,

1) а если так? что получается?
Код: sql
1.
2.
3.
4.
5.
url1 = ('data.xml')
xmlinfo = parse(url1)

for item in xmlinfo.iterfind('Alexa/RLS'):
     print(item)



2)
если разобраться не получилось, то запостите сюда пример xml файла
...
Рейтинг: 0 / 0
02.08.2020, 20:30
    #39985977
Cebek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
mini.weblab,

Ничего не выводит

Код: python
1.
2.
3.
4.
5.
6.
url = 'http://data.alexa.com/data?cli=20&dat=snbamz&url=lol.com'
root = et.fromstring(requests.get(url).content)

domain = [item.attrib.get('URL').content for item in root.findall('.//Alexa')]
rank = [item.attrib.get('RANK') for item in root.findall('.//REACH')] 
print(domain)



Поле Rank я получил а вот поле с названием домена нет
Код: python
1.
domain = [item.attrib.get('URL').content for item in root.findall('.//Alexa')]



И вообще я не понимаю что означает
Код: python
1.
findall('.//Alexa')


Это название тега? Что означают эти 2 слеша и точка?
...
Рейтинг: 0 / 0
02.08.2020, 20:48
    #39985982
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
ничего сказать не могу, запостите пример xml документа
(и вообще удивительно, что вы что-то умудрились получить: импортировали одну библиотеку, воспользовались другой... ну и т.д.)
...
Рейтинг: 0 / 0
02.08.2020, 21:05
    #39985986
Cebek
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
mini.weblab,

Да. Менял прост много

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
<ALEXA VER="0.9" URL="lol.com/" HOME="0" AID="=" IDN="lol.com/">
<RLS PREFIX="http://" more="0">
<RL HREF="www.wtf.com/" TITLE="WTF?!"/>
<RL HREF="www.nick.com/" TITLE="Nickelodeon Online"/>
<RL HREF="www.naver.com/" TITLE="&#45348;&#51060;&#48260;"/>
<RL HREF="www.miniclip.com/" TITLE="Miniclip"/>
<RL HREF="www.funnyjunk.com/" TITLE="Funny Junk"/>
<RL HREF="www.1001spill.no/" TITLE="1001 Spill"/>
<RL HREF="rofl.com/" TITLE="ROFL.com Staff Flash"/>
<RL HREF="omg.com/" TITLE="Object Management Group"/>
<RL HREF="lolcom.wordpress.com/" TITLE="LOL.com Development"/>
<RL HREF="chatango.com/" TITLE="Chatango - Add Free Live Chat to any Webpage"/>
</RLS>
<SD TITLE="A" FLAGS="" HOST="lol.com">
<OWNER NAME="ZWave, Llc"/>
</SD>
<SD>
<POPULARITY URL="lol.com/" TEXT="755256" SOURCE="panel"/>
<REACH RANK="662033"/>
<RANK DELTA="+133191"/>
</SD>
</ALEXA>
...
Рейтинг: 0 / 0
02.08.2020, 23:12
    #39986006
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
Cebek,

Код: python
1.
2.
3.
4.
5.
6.
import xml.etree.ElementTree as ET
tree = ET.parse('data.xml')
root = tree.getroot()

for neighbor in root.iter('RL'):
    print("URL:", neighbor.attrib['HREF'])
...
Рейтинг: 0 / 0
02.08.2020, 23:34
    #39986011
mini.weblab
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как парсить xml через url?
Код: python
1.
2.
3.
4.
5.
6.
7.
8.
9.
import requests
import xml.etree.ElementTree as ET

res = requests.get('http://data.alexa.com/data?cli=20&dat=snbamz&url=lol.com')

data_string = res.text
root = ET.fromstring(data_string)    
for item in root.iter('RL'):
    print("Domain name:", item.attrib['HREF'])



https://repl.it/repls/HarmoniousNotedSoftware#main.py
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Как парсить xml через url? / 11 сообщений из 11, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]