Как получить содержимое страницы из списка ссылок на веб-сайты, используя цикл for в python и lxml? - PullRequest
0 голосов
/ 30 апреля 2019

Я собираю данные с веб-сайта и извлек список URL-адресов, с которых я буду получать окончательные данные, которые мне нужны. Как мне извлечь html из этого списка адресов, используя цикл?

Использование xpath в lxml У меня есть список URL-адресов. Теперь мне нужно получить содержимое страницы для каждого из этих URL-адресов, а затем снова использовать xpath для получения окончательных данных с каждой из этих страниц. Я могу индивидуально получать данные с каждой страницы, если использую

pagecontent=requests.get(linklist[1])

тогда я могу получить содержимое 1 URL, но если я использую цикл for

for i in range(0,8):
    pagecontent[i]=requests.get(linklist[i])

Я получаю индекс назначения списка ошибок вне диапазона. Я также пытался использовать

pagecontent=[requests.get(linklist) for s in linklist]

я вижу ошибку: не найдены адаптеры подключения для '[' http ... (список ссылок) ...] '

Я пытаюсь получить содержимое страницы списка, где каждый элемент списка имеет HTML-код соответствующих URL-адресов. Каков наилучший способ добиться этого?

1 Ответ

0 голосов
/ 30 апреля 2019

В свете вашего комментария я считаю, что это (или что-то подобное) может быть тем, что вы ищете; Я не могу попробовать это сам, так как у меня нет вашего linklist, но вы должны быть в состоянии изменить код в соответствии с вашей ситуацией. Он использует Python F-строки , чтобы выполнить то, что вам нужно.

linklist = ['www.example_1.com','www.example_2.com','www.example_3.com']
pages = {} #initialize an empty dictionary to house your name/link entries

for i in range(len(linklist)):      
      pages[f'pagecontent[{i+1}]'] = linklist[i] #the '+1' is needed because python counts from 0...
for name, link in pages.items() :
    print (name, link)

Выход:

pagecontent[1] www.example_1.com
pagecontent[2] www.example_2.com
pagecontent[3] www.example_3.com
...