【发布时间】:2017-08-29 19:02:12
【问题描述】:
我想从网站中解析一些信息,这些信息的数据分布在多个页面中。
问题是我不知道有多少页。可能有 2 个,但也可能有 4 个,甚至只有一页。
当我不知道会有多少页面时,如何循环页面?
但我知道 url 模式类似于下面的代码。
此外,页面名称不是纯数字,但它们在第 2 页的 'pe2' 和第 3 页的 'pe4' 等中,所以不能只循环范围(数字)。
我正在尝试修复的循环的这个虚拟代码。
pages=['','pe2', 'pe4', 'pe6', 'pe8',]
import requests
from bs4 import BeautifulSoup
for i in pages:
url = "http://www.website.com/somecode/dummy?page={}".format(i)
r = requests.get(url)
soup = BeautifulSoup(r.content)
#rest of the scraping code
【问题讨论】:
-
只是增加数字直到得到 404 响应?
-
那么除了这个我还要写try吗?进展如何?
-
是的,如果您遇到异常,那么那里什么都没有。
-
请求不会在 404 响应中引发 - 只需检查
r.status_code> 299
标签: python loops beautifulsoup