当前位置: 首页 > 面试题库 >

Python BeautifulSoup抓取表

公孙国兴
2023-03-14
问题内容

我正在尝试使用BeautifulSoup创建表格抓取。我编写了以下Python代码:

import urllib2
from bs4 import BeautifulSoup

url = "http://dofollow.netsons.org/table1.htm"  # change to whatever your url is

page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page)

for i in soup.find_all('form'):
    print i.attrs['class']

我需要抓取Nome,Cognome,Email。


问题答案:

循环遍历表行(tr标签)并获取其中的单元格文本(td标签):

for tr in soup.find_all('tr')[2:]:
    tds = tr.find_all('td')
    print "Nome: %s, Cognome: %s, Email: %s" % \
          (tds[0].text, tds[1].text, tds[2].text)

印刷品:

Nome:  Massimo, Cognome:  Allegri, Email:  Allegri.Massimo@alitalia.it
Nome:  Alessandra, Cognome:  Anastasia, Email:  Anastasia.Alessandra@alitalia.it
...

仅供参考,[2:]这里的切片是跳过两个标题行。

UPD,这是将结果保存到txt文件中的方法:

with open('output.txt', 'w') as f:
    for tr in soup.find_all('tr')[2:]:
        tds = tr.find_all('td')
        f.write("Nome: %s, Cognome: %s, Email: %s\n" % \
              (tds[0].text, tds[1].text, tds[2].text))


 类似资料:
  • 问题内容: 所以,我的问题相对简单。我有一只蜘蛛在多个站点上爬行,我需要它按照我在代码中写入的顺序返回数据。它发布在下面。 结果以随机顺序返回,例如,返回29,然后28,然后30。我已经尝试将调度程序的顺序从DFO更改为BFO,以防万一这是问题所在,但这并没有改变。 问题答案: 定义在方法中使用的URL 。下载页面时,将为你的方法调用每个起始URL的响应。但是你无法控制加载时间-第一个起始URL可

  • 网页爬取 编写网页需要使用 HTML 语言,如果你有 HTML 学习经历就能知道所谓 HTML 语言就是一种规格化文档。有时我们能很方便的从中获取一些需要的数据,并且保持数据原有格式,如 csv 、json 等格式。但有时网站并不会提供一目了然的数据格式。 所以我们就需要爬取网页。网页爬取就是通过电脑程序编写,从不同的网页中去删选、挖掘你需要的数据,并且保存数据相应的格式。 网页请求( Reque

  • 本接口需要客户根据需要上传的视频的各个属性信息来请求该接口,并获取系统分配的视频id(videoid),以便后续接收系统处理视频完成后的回调信息. 本接⼝需要使⽤THQS⽅式进行请求参数校验 (关于THQS算法的细节请参⻅Spark API附录I), 本接口为GET请求,为保护用户APIKey以及其他信息本接口不⽀持跨域访问。 地址为: https://spark.bokecc.com/api/v

  • 什么是抓取频次  抓取频次是搜索引擎在单位时间内(天级)对网站服务器抓取的总次数,如果搜索引擎对站点的抓取频次过高,很有可能造成服务器不稳定,Baiduspider会根据网站内容更新频率和服务器压力等因素自动调整抓取频次。 什么情况下可以进行抓取频次上限调整 首先,Baiduspider会根据网站服务器压力自动进行抓取频次调整。其次,如果Baiduspider的抓取影响了网站稳定性,站长可以通过此

  • 什么是抓取诊断 抓取诊断工具,可以让站长从百度蜘蛛的视角查看抓取内容,自助诊断百度蜘蛛看到的内容,和预期是否一致。每个站点每周可使用70次,抓取结果只展现百度蜘蛛可见的前200KB内容。 抓取诊断工具能做什么 目前抓取诊断工具有如下作用: 1、诊断抓取内容是否符合预期,譬如很多商品详情页面,价格信息是通过JavaScript输出的,对百度蜘蛛不友好,价格信息较难在搜索中应用。问题修正后,可用诊断工

  • 什么是抓取异常  Baiduspider无法正常抓取,就是抓取异常。 抓取异常对网站有哪些影响  对于大量内容无法正常抓取的网站,搜索引擎会认为网站存在用户体验上的缺陷,并降低对网站的评价,在抓取、索引、权重上都会受到一定程度的负面影响,最终影响到网站从百度获取的流量。 抓取异常的原因有哪些 一、网站异常 1、dns异常   当Baiduspider无法解析您网站的IP时,会出现DNS异常。可能是

  • 在基于爬虫的扫描期间,可以使用许多选项来配置Burp Scanner的行为。这些可以在启动扫描时来配置,或者可以在Burp的配置库中进行配置。 抓取优化 这些设置控制爬虫逻辑的行为,以反映爬虫的目标和应用程序的性质。 最大链接深度 最大链接深度表示爬虫程序将从起始URL创建的链接的最大跃点深度(包括单击链接和提交表单)。现代应用程序倾向于在菜单和页脚等位置为每个响应构建大量导航链接。因此可以在起始

  • 问题内容: 我正在做一个项目,我需要做很多屏幕抓取工作,以尽可能快地获取大量数据。我想知道是否有人知道任何好的API或资源来帮助我。 顺便说一下,我正在使用Java。 到目前为止,这是我的工作流程: 连接到网站(使用来自Apache的HTTPComponents) 网站包含一个带有一堆我需要访问的链接的部分(使用内置的Java HTML解析器来弄清楚我需要访问的所有链接是什么,这很烦人且凌乱的代码