Dom*_*ane 0 python json screen-scraping html-parsing web-scraping
我有这样的文件用Python解析(从报废):
some HTML and JS here...
SomeValue =
{
'calendar': [
{ 's0Date': new Date(2010, 9, 12),
'values': [
{ 's1Date': new Date(2010, 9, 17), 'price': 9900 },
{ 's1Date': new Date(2010, 9, 18), 'price': 9900 },
{ 's1Date': new Date(2010, 9, 19), 'price': 9900 },
{ 's1Date': new Date(2010, 9, 20), 'price': 9900 },
{ 's1Date': new Date(2010, 9, 21), 'price': 9900 },
{ 's1Date': new Date(2010, 9, 22), 'price': 9900 },
{ 's1Date': new Date(2010, 9, 23), 'price': 9900 }]
},
'data': [{
index: 0,
serviceClass: 'Economy',
prices: [9900, 320.43, 253.27],
eTicketing: true,
segments: [{
indexSegment: 0,
stopsCount: 1,
flights: [{
index: 0,
... and a lot of nested data and again HTML and JS...
Run Code Online (Sandbox Code Playgroud)
我需要解析它并提取所有json数据.现在我使用正则表达式清理所有'\n'和'\ t'以及eval()函数将其转换为Python字典..我真的不喜欢这个解决方案,尤其是eval().但我查看了BeautifulSoup和lxml,并没有找到有助于解析它的东西.
你能为这项任务提出比正则表达式和eval()更好的建议吗?
页面示例:http://codepaste.ru/3830/
使用该json
模块处理JSON数据:
import json
json.loads( <string> )
Run Code Online (Sandbox Code Playgroud)
使用BeautifulSoup
或lxml
处理解析html页面:
from BeautifulSoup import BeautifulSoup
soup = BeautifulSoup( <string> )
Run Code Online (Sandbox Code Playgroud)
如果需要特定帮助,则需要提供特定数据,例如包含此数据的标记类.soup.findAll
例如,您可以使用脚本标记,然后删除一些行以获取JSON,然后将其输入json.loads
.
归档时间: |
|
查看次数: |
2303 次 |
最近记录: |