如何使用python从HTML页面提取特定数据?

如何使用python从HTML页面提取特定数据?,python,html,web-crawler,Python,Html,Web Crawler,我是python新手,我有一个HTML文本文件,我想用Python2.7来处理它 下面的代码只是一个公司信息的示例。在完整的html文本文件中,所有其他公司的代码结构也是相同的,并且位于彼此的下方(如果后者的信息有帮助的话) 因此,基本上,我想按时间顺序提取某些信息(如公司名称、位置、电话号码和网站),以便将数据分配给正确的组织,如下所示: Liberty Associates LLC | New York | +1 973-344-8300 | www.liberty.edu Compa

我是python新手,我有一个HTML文本文件,我想用Python2.7来处理它

下面的代码只是一个公司信息的示例。在完整的html文本文件中,所有其他公司的代码结构也是相同的,并且位于彼此的下方(如果后者的信息有帮助的话)

因此,基本上,我想按时间顺序提取某些信息(如公司名称、位置、电话号码和网站),以便将数据分配给正确的组织,如下所示:

Liberty Associates LLC | New York    | +1 973-344-8300 | www.liberty.edu
Company B              | Los Angeles | +1 213-802-1770 | perchla.com 
如果我不够简洁,我很抱歉,但是任何关于如何开始脚本以及它应该是什么样子的建议都会非常有用

守则:


“Liberty Associates LLC”
电话联系方式
行业:移民
华尔街59号
NJ 07105
纽约
电话:+1 973-344-8300公司编号:KL4568TL
传真:+1973-344-8300
活动:
对

首先,您需要从页面获取HTML。您可以使用类似于请求的库来执行此操作

from lxml import html
import requests

page = requests.get('url')
tree = html.fromstring(page.content)
然后,您可以使用选择器访问“树”中的内容

prices = tree.xpath('//span[@class="item-price"]/text()')
或者您可以正常地解析字符串

见:

读取文件

from lxml import html

# read html as string from file
str = open('file.html', 'r').read()
tree = html.fromstring(str)

company = tree.xpath('//div[@class="card-header"]/strong/text()')
print company

在网页上看起来如何?@激进狂热者请查看我的最新帖子谢谢你的回复。很遗憾,我没有页面/URL。我只有HTML代码保存在我的硬盘上的txt文件中。哦,更简单。只需将文件作为字符串读入,您就可以使用相同的步骤。此方法是否也会“循环”,以便在使用第一个html“块”时也会爬网其他公司的数据?是和否,选择器将抓取与该模式匹配的所有html块。因此,如果有多个,它将抓取它们。是的,选择器按顺序抓取它们。所以array1[0]将与array2[0]一起使用。有道理?