Я хочу знать, как 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>
хочу идти до последней страницы
Чтобы получить следующий 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)