python使用xpath提取数据_Python:通过xpath获取html表数据

有一个相当通用的模式可以用来解析许多

所有的,桌子。import lxml.html as LH

import requests

import pandas as pd

def text(elt):

return elt.text_content().replace(u’\xa0′, u’ ‘)

url = ‘http://www.fdmbenzinpriser.dk/searchprices/5/’

r = requests.get(url)

root = LH.fromstring(r.content)

for table in root.xpath(‘//table[@id=”sortabletable”]’):

header = [text(th) for th in table.xpath(‘//th’)] # 1

data = [[text(td) for td in tr.xpath(‘td’)]

for tr in table.xpath(‘//tr’)] # 2

data = [row for row in data if len(row)==len(header)] # 3

data = pd.DataFrame(data, columns=header) # 4

print(data)可以使用table.xpath(‘//th’)查找列名。

table.xpath(‘//tr’)返回行,对于每一行,tr.xpath(‘td’)

返回表示表的一个”单元格”的元素。

有时可能需要筛选出某些行,例如在本例中,行

值小于头。

如何处理数据(列表列表)取决于您。在这里,我只用熊猫做演示:Pris Adresse Tidspunkt

0 8.04 Brovejen 18 5500 Middelfart 3 min 38 sek

1 7.88 Hovedvejen 11 5500 Middelfart 4 min 52 sek

2 7.88 Assensvej 105 5500 Middelfart 5 min 56 sek

3 8.23 Ejby Industrivej 111 2600 Glostrup 6 min 28 sek

4 8.15 Park Alle 125 2605 Brøndby 25 min 21 sek

5 8.09 Sletvej 36 8310 Tranbjerg J 25 min 34 sek

6 8.24 Vindinggård Center 29 7100 Vejle 27 min 6 sek

7 7.99 * Søndergade 116 8620 Kjellerup 31 min 27 sek

8 7.99 * Gertrud Rasks Vej 1 9210 Aalborg SØ 31 min 27 sek

9 7.99 * Sorøvej 13 4200 Slagelse 31 min 27 sek

Original: https://blog.csdn.net/weixin_31560425/article/details/113969767
Author: 设计师猫姐
Title: python使用xpath提取数据_Python:通过xpath获取html表数据

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/743212/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球