ссылку на следующую страницу нужно найти питона

0

Я хочу знать, как Im в состоянии найти ссылку следующей страницы, сценарий приведен ниже

существует основной div-класс = "abc", который охватывает ссылку следующей страницы, которая

  www.abc.com #base url
  www.abc.com/options/latest/121?n=0 

возможность собирать опцию url и получать детали от него. эта страница ссылается на следующую ссылку на страницу, которая

<p>  <a href="/options/latest/121?n=20">suivant »</a> </p>

им удалось получить эту ссылку, а также детали из нее, но не смог собрать следующую страницу из

<p>  <a href="/options/latest/121?n=20">suivant »</a> </p>

хочу собрать

 <p>  <a href="/options/latest/121?n=40">suivant »</a> </p>

хочу идти до последней страницы

  • 0
    что такое реальный сайт?
  • 0
    Я не хочу раскрывать, просто я хочу знать, как перейти на следующую страницу, иначе я смогу собрать необходимую информацию. единственное, что есть на каждой странице - это предоставление ссылки на следующую страницу только «не на последнюю страницу».
Теги:
python-2.7

1 ответ

1

Чтобы получить следующий URL-адрес с html-страницы, вы можете использовать BeautifulSoup:

import re

def get_next_url(soup):
    for div in soup.find_all('div', 'abc'):
        a = div.find('a', href=re.compile('^/options/latest/'),
                     text=re.compile('suivant'))
        if a is not None:
           return a['href']

Чтобы перейти на следующую страницу:

from urllib2 import urlopen
from bs4 import BeautifulSoup # $ pip install beautifulsoup4

link = '/first/page'
while link:
    print(link)
    page = urlopen('http://example.com' + link)
    soup = BeautifulSoup(page, from_encoding=page.info().getparam('charset'))
    link = get_next_url(soup)
  • 0
    я пытаюсь проверить, но эта строка text = re.compile ('suivant')) показывает синтаксическую ошибку
  • 0
    теперь я могу работать успешно, но на самом деле у меня есть еще несколько следующих страниц, поэтому мне нужно знать, как мне удается получить все эти?
Показать ещё 7 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню