python - 抓取一个遍历网站页面的表格 : how to define the last page?

标签 python python-3.x pandas for-loop web-scraping

我有以下代码可以正常工作:

import requests
from bs4 import BeautifulSoup
import pandas as pd

df_list = []
for i in range(1, 13):
    url = 'https://www.uzse.uz/trade_results?date=25.01.2019&mkt_id=ALL&page=%d' %i
    df_list.append(pd.read_html(url)[0])

df = pd.concat(df_list)
df

但是对于这个特定的页面,我知道页数,在 range(1, 13) 中是 13。有没有办法定义最后一页,这样我就不必去检查给定页面上有多少页?

最佳答案

试试

for i in range(1, 100):

    url = 'https://www.uzse.uz/trade_results?date=25.01.2019&mkt_id=ALL&page=%d' %i
    if pd.read_html(url)[0].empty:
        break
    else :
        df_list.append(pd.read_html(url)[0])

page=0                    # using while
while page > 0:
   url = 'https://www.uzse.uz/trade_results?date=25.01.2019&mkt_id=ALL&page=%d' % i
   df_list.append(pd.read_html(url)[0])
   page = page + 1
   if pd.read_html(url)[0].empty:
      break

print(page)

关于python - 抓取一个遍历网站页面的表格 : how to define the last page?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54393236/

相关文章:

python - 当 x 值之间发生单击时,在固定 x 值上绘制 h 线

python - `in` 比 `__contains__` 有多少优化?

python - 如何计算 Python 中所有列的异常值?

python - 如何将由空格分隔的整数(像素)组成的字符串列转换为大约 28000 行的数据帧

python - 如何根据 Pandas 的日期时间列找到每个 id 的第一次出现?

python - 如何从 groupBox 更改子 QLabel 小部件的字体大小

python - 如何从Python字典的最高值中随机打破平局?

python - 当我将数据添加到数据框列时,为什么我的数据为空?

python - GridSearchCV 没有属性 grid.grid_scores_

Python IF 查询