如何从不同页面提取表?(蟒蛇)

木柴

我想提取http://上的第一服务页面的表格

表格已被下面的代码抓取,并在列表中,从bs4导入urllib导入BeautifulSoup

base_url = "http://"
url_list = ["{}?page={}".format(base_url, str(page)) for page in range(1, 21)]

mega = []
for url in url_list:
    html = urllib.request.urlopen(url).read()
    soup = BeautifulSoup(html, 'html.parser')
    table = soup.find('table', {'class': 'table table-bordered table-striped table-hover'}) 
    mega.append(table)

因为它是一个列表,不能使用'soup find_all'提取我想要的项目,所以我将它们转换为bs4.element.Tag以进一步搜索项目

for i in mega:
    trs = table.find_all('tr')[1:]
    rows = list()
    for tr in trs:
        rows.append([td.text.replace('\n', '').replace('\xa0', '').replace('\t', '').strip().rstrip() for td in tr.find_all('td')])
rows

这些行仅提取最后一页的表。我的代码有什么问题,因此无法提取前面的19个表?谢谢!

这两个项目的长度不相等。我在meaga中用i来获得i。

len(mega) = 20
len(i) = 5
病毒

问题很简单。在此for循环中:

for i in mega:
    trs = table.find_all('tr')[1:]
    rows = list()
    for tr in trs:
        rows.append([td.text.replace('\n', '').replace('\xa0', '').replace('\t', '').strip().rstrip() for td in tr.find_all('td')])

rows = list()在for循环中初始化因此,您循环了21次,但同时也清空了列表20次。

因此,您需要像这样:

rows = list()
for i in mega:
    trs = table.find_all('tr')[1:]
    for tr in trs:
        rows.append([td.text.replace('\n', '').replace('\xa0', '').replace('\t', '').strip().rstrip() for td in tr.find_all('td')])

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

CakePHP如何从不同的表获取照片?

来自分类Dev

如何从不同的表条件 INSERT INTO?

来自分类Dev

从不同的 Excel 工作表中提取列后,如何将结果合并到单个数据框?

来自分类Dev

RxJava:如何从不同的函数中提取相同的observeOn?

来自分类Dev

如何从不同的表中获取数据到单表

来自分类Dev

FPDF FPDI 如何从不同的 FPDF 类导入页面?

来自分类Dev

从不同页面加载 localStorage

来自分类Dev

从不同工作表上的不同单元格匹配、提取和添加数字

来自分类Dev

我如何从不同的表进行计数和求和(SQL)

来自分类Dev

SQL如何从不同的表中获取值?

来自分类Dev

使用importrange从不同的工作表中提取文本和特定文本的计数

来自分类Dev

Excel-从不同工作簿的某些表中提取数据

来自分类Dev

子查询从不同的表中提取总金额并按销售人员分组

来自分类Dev

JSF2如何从不同页面更新不同组件

来自分类Dev

如何提取段落中的某个句子?蟒蛇

来自分类Dev

从不同页面的不同页面调用javascript函数

来自分类Dev

从不同的jsp页面可见的变量

来自分类Dev

JQGrid:从不同页面获取元素

来自分类Dev

如何使用json显式函数?从不同站点提取数据

来自分类Dev

如何使用php从不同的数组中提取特定数据?

来自分类Dev

如何从不同的文件中提取特定的列并在一个文件中输出?

来自分类Dev

如何从不同间隔的列表中提取值(由列表定义)

来自分类Dev

如何从不同的通知启动苹果手表应用程序的不同屏幕?

来自分类Dev

如何在不同情况下从不同的表中进行选择

来自分类Dev

如果结果不同,如何运行查询以从不同的表中获取数据

来自分类Dev

蟒蛇:如何用碎片切回“页面”

来自分类Dev

如何根据表A上的列条件从不同的表B中获取列?

来自分类Dev

如何从不同页面抓取数据并分配给同一数据集?

来自分类Dev

如何从不同的get请求呈现同一页面?

Related 相关文章

  1. 1

    CakePHP如何从不同的表获取照片?

  2. 2

    如何从不同的表条件 INSERT INTO?

  3. 3

    从不同的 Excel 工作表中提取列后,如何将结果合并到单个数据框?

  4. 4

    RxJava:如何从不同的函数中提取相同的observeOn?

  5. 5

    如何从不同的表中获取数据到单表

  6. 6

    FPDF FPDI 如何从不同的 FPDF 类导入页面?

  7. 7

    从不同页面加载 localStorage

  8. 8

    从不同工作表上的不同单元格匹配、提取和添加数字

  9. 9

    我如何从不同的表进行计数和求和(SQL)

  10. 10

    SQL如何从不同的表中获取值?

  11. 11

    使用importrange从不同的工作表中提取文本和特定文本的计数

  12. 12

    Excel-从不同工作簿的某些表中提取数据

  13. 13

    子查询从不同的表中提取总金额并按销售人员分组

  14. 14

    JSF2如何从不同页面更新不同组件

  15. 15

    如何提取段落中的某个句子?蟒蛇

  16. 16

    从不同页面的不同页面调用javascript函数

  17. 17

    从不同的jsp页面可见的变量

  18. 18

    JQGrid:从不同页面获取元素

  19. 19

    如何使用json显式函数?从不同站点提取数据

  20. 20

    如何使用php从不同的数组中提取特定数据?

  21. 21

    如何从不同的文件中提取特定的列并在一个文件中输出?

  22. 22

    如何从不同间隔的列表中提取值(由列表定义)

  23. 23

    如何从不同的通知启动苹果手表应用程序的不同屏幕?

  24. 24

    如何在不同情况下从不同的表中进行选择

  25. 25

    如果结果不同,如何运行查询以从不同的表中获取数据

  26. 26

    蟒蛇:如何用碎片切回“页面”

  27. 27

    如何根据表A上的列条件从不同的表B中获取列?

  28. 28

    如何从不同页面抓取数据并分配给同一数据集?

  29. 29

    如何从不同的get请求呈现同一页面?

热门标签

归档