我需要从this网页中获取漫画的最后页码,该页面上的下拉列表中包含字符串'Last Page(57)'
。我想使用Beautiful Soup查找最后的页码。
import bs4 as bs
import requests
ref = requests.get('https://readms.net/r/onepunch_man/083/4685/3')
soup = bs.BeautifulSoup(ref.text, 'lxml')
#FIND OUT THE LAST PAGE NUMBER FROM THE SOURCE CODE!!!
print(soup.find_all(string='Last Page')
答案 0 :(得分:1)
使用此代码:
res = soup.find_all("ul",{"class":"dropdown-menu"})[-1].find_all("li")[-1].text
print(res)
输出:
'Last Page (57)'
查找号码用途:
import re
last_page_number = re.findall("\d+",res)
print(last_page_number)
输出:
57
答案 1 :(得分:0)
您不需要使用BeautifulSoup
。只需检查Last Page
项的页面源即可:
import re
import requests
r = requests.get('https://readms.net/r/onepunch_man/083/4685/3').text
last_page = re.findall('Last Page \((\d+)\)', r)[0]
输出:
57
答案 2 :(得分:0)
对于bs4 4.7.1,您可以使用:contains在a
中用Last Page
来获取innerText
标记
import requests
from bs4 import BeautifulSoup
r = requests.get('https://readms.net/r/onepunch_man/083/4685/3')
soup = BeautifulSoup(r.content, 'lxml')
last_page = int(soup.select_one('a:contains("Last Page")')['href'].split('/')[-1])
缺乏鲁棒性:
您可以与
进行位置匹配.btn-reader-page li:last-child a