Я использую Scrapy, чтобы очистить эту страницу:Получить ссылки форму википедии
https://en.wikipedia.org/wiki/List_of_shopping_malls_in_the_United_States
ссылкам находятся в:
data = response.xpath('//*[@id="mw-content-text"]/ul[9]/li').extract()
где данные:
[<Selector xpath='//*/li' data=u'<li><a href="/wiki/Ala_Moana_Center" tit'>,
<Selector xpath='//*/li' data=u'<li><a href="/wiki/Kahala_Mall" title="K'>,
<Selector xpath='//*/li' data=u'<li><a href="/wiki/Pearlridge" title="Pe'>,
<Selector xpath='//*/li' data=u'<li><a href="/wiki/Prince_Kuhio_Plaza" t'>,
<Selector xpath='//*/li' data=u'<li><a href="/wiki/Victoria_Ward_Centers'>]
ссылки Мне нужны:
https://en.wikipedia.org + HREF
, например:
'https://en.wikipedia.org' + '/ вики/Ala_Moana_Center'
для этого я использую регулярное выражение
link = 'https://en.wikipedia.org' + re.findall('href="([^"]+)',str(data[0]))[0]
name = re.findall('href="([^"]+)',str(data[0]))[0].replace('/wiki/','').replace('_',' ')
Вопрос в том, что с этим подход. Мне нужно будет создать петли, чтобы получить ссылки, есть способ создать эти ссылки, которые непосредственно формируют scrapy или по крайней мере эффективнее?
Спасибо, ну на самом деле мне нужно все ссылки. Я предпочел бы иметь ссылки по штату, я не нашел шаблон, чтобы связать ссылки с состояниями, не предварительно указав имена состояний, находящихся на странице. Так я попробую с: response.xpath ('// * [@ ID = "МВТ-контент-текст"]/мкл/li') экстракт() –
@LuisRamonRamirezRodriguez уверен, позвольте мне помочь вам. группируя ссылки по штату, дай мне минуту. – alecxe
@LuisRamonRamirezRodriguez okay, обновленный с образцом, попробуйте и попробуйте проверить, если он обрабатывает ситуации, когда нет связей для состояния. Благодарю. – alecxe