嗨,我正在尝试使用Python 2.7和Beautifulsoup查找网站上的页面数。我尝试使用此代码从分页行中获取页数。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import urllib2

from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0'}
req = urllib2.Request("https://www.sikayetvar.com", None,headers)
resp  = urllib2.urlopen(req)
html = resp.read()
soup = BeautifulSoup(html)
pages = soup.find_all('div', attrs = {'class' : 'pagination row'})
for page in pages:
   print page.text


输出如下:
1个
2
3
4
5
6
7
...
807

我只需要数字807,但是汤。我应该将其转换为字符串并找到最大数量,在这种情况下(...)会产生问题,我认为还是应该尝试查找findall的最后一个元素,但这又不是Unicode的列表。我真的需要一些帮助,谢谢。

最佳答案

我无法安装urllib。所以我要使用requests库。您可以使用pip install requests安装它

import requests
from bs4 import BeautifulSoup
headers = {'User-Agent': 'Mozilla/5.0'}

response = requests.get("https://www.sikayetvar.com/a101", headers = headers)

soup = BeautifulSoup(response.text,'lxml')

#This will you all a tags in div that has pagination class
pages = soup.select('div.pagination a')

#Last element is next page. The previous is your last page number.
#So we are going to take second last item

print(pages[-2].text)
#Output is 807

关于python - 查找包含汤.findall unicode问题的网站上的页面数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51836275/

10-11 22:54
查看更多