Youtube live stream: get actual url - youtube

Input: youtube live stream url: https://www.youtube.com/watch?v=nt8b2d80kp4
Output: an http mp4 link.
What i have do:
I run this javascript code from F12 developer tools:
ytInitialPlayerResponse.streamingData.hlsManifestUrl
This code returns a m3u8 http link (example).
There are two problems with this link:
It's auto expired (gives 403 error after expiration date)
It's m3u8 not mp4 so some media players doesn't well formed for playing this type of link.
Thanks in advance,
Chris Pappas
Edit: this python code:
from youtube_dl import YoutubeDL
video = "https://www.youtube.com/watch?v=nt8b2d80kp4"
with YoutubeDL(youtube_dl_opts={}) as ydl:
info_dict = ydl.extract_info(video, download=False)
print(info_dict)
outputs same results:
[youtube] nt8b2d80kp4: Downloading webpage
[youtube] nt8b2d80kp4: Downloading m3u8 information
[youtube] nt8b2d80kp4: Downloading MPD manifest
{'id': 'nt8b2d80kp4', 'title': 'Ζωντανή ροή Ραδιοφωνικός Σταθμός Πειραϊκή Εκκλησία 2022-04-05 02:04', 'formats': [{'format_id': '91', 'url': 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02:587:4b21:e800:5d6b:c629:1c0:a1b1/id/nt8b2d80kp4.1/itag/91/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D139/sgovp/gir%3Dyes%3Bitag%3D160/hls_chunk_host/rr2---sn-vuxbavcx-n3bl.googlevideo.com/playlist_duration/30/manifest_duration/30/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/playlist_type/DVR/initcwndbps/7490/mh/_r/mm/44/mn/sn-vuxbavcx-n3bl/ms/lva/mv/m/mvi/2/pl/43/dover/11/pacing/0/keepalive/yes/fexp/24001373,24007246/mt/1649113244/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,spc,vprv,playlist_type/sig/AOq0QJ8wRQIhAJaGHTtdb2ZrIHaJpBQf8cHxnbU3yBZLidkvnLumnyAYAiAUHVWdJBTUguaVAlX3YDDJBp1cYt_21fwLvWSAyarsWw%3D%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgdcwejljXiYTGqQP1mq3mAnB2NFE1YOd9LGn07rvpqZkCIFO-Ac_b_HPW5dsmv08L2AM9ppkTNcv7wUpi9bVjHzcM/playlist/index.m3u8', 'manifest_url': 'https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02%3A587%3A4b21%3Ae800%3A5d6b%3Ac629%3A1c0%3Aa1b1/id/nt8b2d80kp4.1/source/yt_live_broadcast/requiressl/yes/tx/24129502/txs/24129500%2C24129501%2C24129502%2C24129503%2C24129504%2C24129505/hfr/1/playlist_duration/30/manifest_duration/30/maudio/1/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/go/1/pacing/0/nvgoi/1/keepalive/yes/fexp/24001373%2C24007246/dover/11/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cplaylist_duration%2Cmanifest_duration%2Cmaudio%2Cspc%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AOq0QJ8wRgIhAKcKNLzxMbndLkc-vLGJlCe0rbBGfa0zMKYvHhDkQ_12AiEAlABms2jEL2WzngtfY33o3ASrYpQj8lka9XgBzD2cinY%3D/file/index.m3u8', 'tbr': 269.034, 'ext': 'mp4', 'fps': 30.0, 'protocol': 'm3u8', 'preference': None, 'width': 256, 'height': 144, 'vcodec': 'avc1.4d400c', 'acodec': 'mp4a.40.5', 'format': '91 - 256x144', 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3605.1 Safari/537.36', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-us,en;q=0.5'}}, {'format_id': '92', 'url': 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02:587:4b21:e800:5d6b:c629:1c0:a1b1/id/nt8b2d80kp4.1/itag/92/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D139/sgovp/gir%3Dyes%3Bitag%3D133/hls_chunk_host/rr2---sn-vuxbavcx-n3bl.googlevideo.com/playlist_duration/30/manifest_duration/30/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/playlist_type/DVR/initcwndbps/7490/mh/_r/mm/44/mn/sn-vuxbavcx-n3bl/ms/lva/mv/m/mvi/2/pl/43/dover/11/pacing/0/keepalive/yes/fexp/24001373,24007246/mt/1649113244/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,spc,vprv,playlist_type/sig/AOq0QJ8wRQIhANEp4EIVvK06xwQNBF1AAimcILbbgqcruHRmEN0wmEb5AiAiv6gZpV1SeqSe6apTkEN7dl_J3jiX6Ngkw9O5wJFy_Q%3D%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRQIgbfIgSnKEyRQJqEvLzAB0HrYOQtrOtOXL08IcX5Ilu5gCIQCsNKszTG9kxjA_ncjRL92l5140QO8Gz-l7y8rMc9iz4A%3D%3D/playlist/index.m3u8', 'manifest_url': 'https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02%3A587%3A4b21%3Ae800%3A5d6b%3Ac629%3A1c0%3Aa1b1/id/nt8b2d80kp4.1/source/yt_live_broadcast/requiressl/yes/tx/24129502/txs/24129500%2C24129501%2C24129502%2C24129503%2C24129504%2C24129505/hfr/1/playlist_duration/30/manifest_duration/30/maudio/1/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/go/1/pacing/0/nvgoi/1/keepalive/yes/fexp/24001373%2C24007246/dover/11/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cplaylist_duration%2Cmanifest_duration%2Cmaudio%2Cspc%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AOq0QJ8wRgIhAKcKNLzxMbndLkc-vLGJlCe0rbBGfa0zMKYvHhDkQ_12AiEAlABms2jEL2WzngtfY33o3ASrYpQj8lka9XgBzD2cinY%3D/file/index.m3u8', 'tbr': 507.418, 'ext': 'mp4', 'fps': 30.0, 'protocol': 'm3u8', 'preference': None, 'width': 426, 'height': 240, 'vcodec': 'avc1.4d4015', 'acodec': 'mp4a.40.5', 'format': '92 - 426x240', 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3605.1 Safari/537.36', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-us,en;q=0.5'}}, {'format_id': '93', 'url': 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02:587:4b21:e800:5d6b:c629:1c0:a1b1/id/nt8b2d80kp4.1/itag/93/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D134/hls_chunk_host/rr2---sn-vuxbavcx-n3bl.googlevideo.com/playlist_duration/30/manifest_duration/30/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/playlist_type/DVR/initcwndbps/7490/mh/_r/mm/44/mn/sn-vuxbavcx-n3bl/ms/lva/mv/m/mvi/2/pl/43/dover/11/pacing/0/keepalive/yes/fexp/24001373,24007246/mt/1649113244/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,spc,vprv,playlist_type/sig/AOq0QJ8wRQIgIA5ZZHRgMWSVvGijfdTZw9JPaCbYp5Qr8q6T8KC7xzICIQCpi1ezj9m-u7LWsO0lOr690X7SqC1_yKHI0Vfl1w5k3A%3D%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRQIgVXmx1DVCopG8sAu4CwhQXI8Y-S33RS8vYnCvtad6oOICIQCt1IxB-znuBTq8TtEkqdcqWCMrIpYyGICysiMilc2pVg%3D%3D/playlist/index.m3u8', 'manifest_url': 'https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02%3A587%3A4b21%3Ae800%3A5d6b%3Ac629%3A1c0%3Aa1b1/id/nt8b2d80kp4.1/source/yt_live_broadcast/requiressl/yes/tx/24129502/txs/24129500%2C24129501%2C24129502%2C24129503%2C24129504%2C24129505/hfr/1/playlist_duration/30/manifest_duration/30/maudio/1/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/go/1/pacing/0/nvgoi/1/keepalive/yes/fexp/24001373%2C24007246/dover/11/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cplaylist_duration%2Cmanifest_duration%2Cmaudio%2Cspc%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AOq0QJ8wRgIhAKcKNLzxMbndLkc-vLGJlCe0rbBGfa0zMKYvHhDkQ_12AiEAlABms2jEL2WzngtfY33o3ASrYpQj8lka9XgBzD2cinY%3D/file/index.m3u8', 'tbr': 962.461, 'ext': 'mp4', 'fps': 30.0, 'protocol': 'm3u8', 'preference': None, 'width': 640, 'height': 360, 'vcodec': 'avc1.4d401e', 'acodec': 'mp4a.40.2', 'format': '93 - 640x360', 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3605.1 Safari/537.36', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-us,en;q=0.5'}}, {'format_id': '94', 'url': 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02:587:4b21:e800:5d6b:c629:1c0:a1b1/id/nt8b2d80kp4.1/itag/94/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D135/hls_chunk_host/rr2---sn-vuxbavcx-n3bl.googlevideo.com/playlist_duration/30/manifest_duration/30/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/playlist_type/DVR/initcwndbps/7490/mh/_r/mm/44/mn/sn-vuxbavcx-n3bl/ms/lva/mv/m/mvi/2/pl/43/dover/11/pacing/0/keepalive/yes/fexp/24001373,24007246/mt/1649113244/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,spc,vprv,playlist_type/sig/AOq0QJ8wRQIhALS3Y2FAJzDxiL_4C_lpv_69pj56pLKzQvppQkdguQNRAiA1skAdi0g1M4knU7rGjZGKanrqemI4lmGrd1x_ZybKHw%3D%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRQIgc26KbRFE3dLZfA2JFw7u5tfYnwrADlVIxlEUa2GCjjYCIQCIAD_YQ67qXCriM5xf-Pu0HFx-3miHnv5AjpA2ps5qEQ%3D%3D/playlist/index.m3u8', 'manifest_url': 'https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02%3A587%3A4b21%3Ae800%3A5d6b%3Ac629%3A1c0%3Aa1b1/id/nt8b2d80kp4.1/source/yt_live_broadcast/requiressl/yes/tx/24129502/txs/24129500%2C24129501%2C24129502%2C24129503%2C24129504%2C24129505/hfr/1/playlist_duration/30/manifest_duration/30/maudio/1/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/go/1/pacing/0/nvgoi/1/keepalive/yes/fexp/24001373%2C24007246/dover/11/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cplaylist_duration%2Cmanifest_duration%2Cmaudio%2Cspc%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AOq0QJ8wRgIhAKcKNLzxMbndLkc-vLGJlCe0rbBGfa0zMKYvHhDkQ_12AiEAlABms2jEL2WzngtfY33o3ASrYpQj8lka9XgBzD2cinY%3D/file/index.m3u8', 'tbr': 1282.517, 'ext': 'mp4', 'fps': 30.0, 'protocol': 'm3u8', 'preference': None, 'width': 854, 'height': 480, 'vcodec': 'avc1.4d401f', 'acodec': 'mp4a.40.2', 'format': '94 - 854x480', 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3605.1 Safari/537.36', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-us,en;q=0.5'}}, {'format_id': '95', 'url': 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02:587:4b21:e800:5d6b:c629:1c0:a1b1/id/nt8b2d80kp4.1/itag/95/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D136/hls_chunk_host/rr2---sn-vuxbavcx-n3bl.googlevideo.com/playlist_duration/30/manifest_duration/30/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/playlist_type/DVR/initcwndbps/7490/mh/_r/mm/44/mn/sn-vuxbavcx-n3bl/ms/lva/mv/m/mvi/2/pl/43/dover/11/pacing/0/keepalive/yes/fexp/24001373,24007246/mt/1649113244/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,spc,vprv,playlist_type/sig/AOq0QJ8wRAIgIArp16NO7H_1iGseqCvOnsxK0uiR6luE0ZSCc8hP1L8CIA5_iLZ-Q0XWgFKNTG-Pwr0IgI7YqKqZBkKdEK-72Ocm/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgOuphZhTsZili6nNuc4oNLv2ngOx-eznS3U6zutRH9kcCIFF5Q1OAH30FH0W5fDbDAIS5ddYWorQvUCKyHdTxJRCS/playlist/index.m3u8', 'manifest_url': 'https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02%3A587%3A4b21%3Ae800%3A5d6b%3Ac629%3A1c0%3Aa1b1/id/nt8b2d80kp4.1/source/yt_live_broadcast/requiressl/yes/tx/24129502/txs/24129500%2C24129501%2C24129502%2C24129503%2C24129504%2C24129505/hfr/1/playlist_duration/30/manifest_duration/30/maudio/1/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/go/1/pacing/0/nvgoi/1/keepalive/yes/fexp/24001373%2C24007246/dover/11/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cplaylist_duration%2Cmanifest_duration%2Cmaudio%2Cspc%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AOq0QJ8wRgIhAKcKNLzxMbndLkc-vLGJlCe0rbBGfa0zMKYvHhDkQ_12AiEAlABms2jEL2WzngtfY33o3ASrYpQj8lka9XgBzD2cinY%3D/file/index.m3u8', 'tbr': 2447.97, 'ext': 'mp4', 'fps': 30.0, 'protocol': 'm3u8', 'preference': None, 'width': 1280, 'height': 720, 'vcodec': 'avc1.4d401f', 'acodec': 'mp4a.40.2', 'format': '95 - 1280x720', 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3605.1 Safari/537.36', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-us,en;q=0.5'}}, {'format_id': '96', 'url': 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02:587:4b21:e800:5d6b:c629:1c0:a1b1/id/nt8b2d80kp4.1/itag/96/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D137/hls_chunk_host/rr2---sn-vuxbavcx-n3bl.googlevideo.com/playlist_duration/30/manifest_duration/30/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/playlist_type/DVR/initcwndbps/7490/mh/_r/mm/44/mn/sn-vuxbavcx-n3bl/ms/lva/mv/m/mvi/2/pl/43/dover/11/pacing/0/keepalive/yes/fexp/24001373,24007246/mt/1649113244/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,spc,vprv,playlist_type/sig/AOq0QJ8wRQIhALxmrUiTdadfFXA7Fi6u4V9bEgLNh4_1T8En4_cYLxDxAiACWwIQvBp4KRZhK9Iuj5ENJoBRKz5vg4Ae3Kz9lorgRw%3D%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgRbWmulTST9zGTDTPYuwsuUlPgIrl8riftxobyfw6aE4CIGPvqoKBXMVwU4uI6bKhq2ZNQBc4jBvPIAwHzOBE-8vq/playlist/index.m3u8', 'manifest_url': 'https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02%3A587%3A4b21%3Ae800%3A5d6b%3Ac629%3A1c0%3Aa1b1/id/nt8b2d80kp4.1/source/yt_live_broadcast/requiressl/yes/tx/24129502/txs/24129500%2C24129501%2C24129502%2C24129503%2C24129504%2C24129505/hfr/1/playlist_duration/30/manifest_duration/30/maudio/1/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/go/1/pacing/0/nvgoi/1/keepalive/yes/fexp/24001373%2C24007246/dover/11/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cplaylist_duration%2Cmanifest_duration%2Cmaudio%2Cspc%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AOq0QJ8wRgIhAKcKNLzxMbndLkc-vLGJlCe0rbBGfa0zMKYvHhDkQ_12AiEAlABms2jEL2WzngtfY33o3ASrYpQj8lka9XgBzD2cinY%3D/file/index.m3u8', 'tbr': 4561.186, 'ext': 'mp4', 'fps': 30.0, 'protocol': 'm3u8', 'preference': None, 'width': 1920, 'height': 1080, 'vcodec': 'avc1.4d4028', 'acodec': 'mp4a.40.2', 'format': '96 - 1920x1080', 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3605.1 Safari/537.36', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-us,en;q=0.5'}}], 'thumbnails': [{'height': 94, 'url': 'https://i.ytimg.com/vi/nt8b2d80kp4/hqdefault_live.jpg?sqp=CPDwrZIG-oaymwEbCKgBEF5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLAw2l-RpyL_w2Ah-PTW-4Onw1yAQg', 'width': 168, 'resolution': '168x94', 'id': '0'}, {'height': 110, 'url': 'https://i.ytimg.com/vi/nt8b2d80kp4/hqdefault_live.jpg?sqp=CPDwrZIG-oaymwEbCMQBEG5IVfKriqkDDggBFQAAiEIYAXABwAEG&rs=AOn4CLB7UygkwoJ9Z_7eDvhfsoZT652hkQ', 'width': 196, 'resolution': '196x110', 'id': '1'}, {'height': 138, 'url': 'https://i.ytimg.com/vi/nt8b2d80kp4/hqdefault_live.jpg?sqp=CPDwrZIG-oaymwEcCPYBEIoBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDiftinNlIhQinXfCmuEUtF9VErMw', 'width': 246, 'resolution': '246x138', 'id': '2'}, {'height': 188, 'url': 'https://i.ytimg.com/vi/nt8b2d80kp4/hqdefault_live.jpg?sqp=CPDwrZIG-oaymwEcCNACELwBSFXyq4qpAw4IARUAAIhCGAFwAcABBg==&rs=AOn4CLDRd6w3zKSYiO0zCS313m3kc1QeSw', 'width': 336, 'resolution': '336x188', 'id': '3'}, {'height': 1080, 'url': 'https://i.ytimg.com/vi/nt8b2d80kp4/maxresdefault_live.jpg', 'width': 1920, 'resolution': '1920x1080', 'id': '4'}], 'description': '', 'upload_date': '20220327', 'uploader': 'Ραδιοφωνικός Σταθμός Πειραϊκή Εκκλησία', 'uploader_id': 'UCCiYIARg4_6XFSBJU_MduuA', 'uploader_url': 'http://www.youtube.com/channel/UCCiYIARg4_6XFSBJU_MduuA', 'channel_id': 'UCCiYIARg4_6XFSBJU_MduuA', 'channel_url': 'https://www.youtube.com/channel/UCCiYIARg4_6XFSBJU_MduuA', 'duration': 0.0, 'view_count': 44680, 'average_rating': None, 'age_limit': 0, 'webpage_url': 'https://www.youtube.com/watch?v=nt8b2d80kp4', 'categories': ['People & Blogs'], 'tags': [], 'is_live': True, 'like_count': 546, 'channel': 'Ραδιοφωνικός Σταθμός Πειραϊκή Εκκλησία', 'extractor': 'youtube', 'webpage_url_basename': 'watch', 'extractor_key': 'Youtube', 'playlist': None, 'playlist_index': None, 'thumbnail': 'https://i.ytimg.com/vi/nt8b2d80kp4/maxresdefault_live.jpg', 'display_id': 'nt8b2d80kp4', 'requested_subtitles': None, 'format_id': '96', 'url': 'https://manifest.googlevideo.com/api/manifest/hls_playlist/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02:587:4b21:e800:5d6b:c629:1c0:a1b1/id/nt8b2d80kp4.1/itag/96/source/yt_live_broadcast/requiressl/yes/ratebypass/yes/live/1/sgoap/gir%3Dyes%3Bitag%3D140/sgovp/gir%3Dyes%3Bitag%3D137/hls_chunk_host/rr2---sn-vuxbavcx-n3bl.googlevideo.com/playlist_duration/30/manifest_duration/30/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/playlist_type/DVR/initcwndbps/7490/mh/_r/mm/44/mn/sn-vuxbavcx-n3bl/ms/lva/mv/m/mvi/2/pl/43/dover/11/pacing/0/keepalive/yes/fexp/24001373,24007246/mt/1649113244/sparams/expire,ei,ip,id,itag,source,requiressl,ratebypass,live,sgoap,sgovp,playlist_duration,manifest_duration,spc,vprv,playlist_type/sig/AOq0QJ8wRQIhALxmrUiTdadfFXA7Fi6u4V9bEgLNh4_1T8En4_cYLxDxAiACWwIQvBp4KRZhK9Iuj5ENJoBRKz5vg4Ae3Kz9lorgRw%3D%3D/lsparams/hls_chunk_host,initcwndbps,mh,mm,mn,ms,mv,mvi,pl/lsig/AG3C_xAwRAIgRbWmulTST9zGTDTPYuwsuUlPgIrl8riftxobyfw6aE4CIGPvqoKBXMVwU4uI6bKhq2ZNQBc4jBvPIAwHzOBE-8vq/playlist/index.m3u8', 'manifest_url': 'https://manifest.googlevideo.com/api/manifest/hls_variant/expire/1649135095/ei/l3lLYrXgJdSNgAe694PoCw/ip/2a02%3A587%3A4b21%3Ae800%3A5d6b%3Ac629%3A1c0%3Aa1b1/id/nt8b2d80kp4.1/source/yt_live_broadcast/requiressl/yes/tx/24129502/txs/24129500%2C24129501%2C24129502%2C24129503%2C24129504%2C24129505/hfr/1/playlist_duration/30/manifest_duration/30/maudio/1/spc/4ocVCzirPWlfKkGm-t1OK3hRKYGj/vprv/1/go/1/pacing/0/nvgoi/1/keepalive/yes/fexp/24001373%2C24007246/dover/11/itag/0/playlist_type/DVR/sparams/expire%2Cei%2Cip%2Cid%2Csource%2Crequiressl%2Ctx%2Ctxs%2Chfr%2Cplaylist_duration%2Cmanifest_duration%2Cmaudio%2Cspc%2Cvprv%2Cgo%2Citag%2Cplaylist_type/sig/AOq0QJ8wRgIhAKcKNLzxMbndLkc-vLGJlCe0rbBGfa0zMKYvHhDkQ_12AiEAlABms2jEL2WzngtfY33o3ASrYpQj8lka9XgBzD2cinY%3D/file/index.m3u8', 'tbr': 4561.186, 'ext': 'mp4', 'fps': 30.0, 'protocol': 'm3u8', 'preference': None, 'width': 1920, 'height': 1080, 'vcodec': 'avc1.4d4028', 'acodec': 'mp4a.40.2', 'format': '96 - 1920x1080', 'http_headers': {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3605.1 Safari/537.36', 'Accept-Charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.7', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8', 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'en-us,en;q=0.5'}}

Related

When I make a request with axios in nuxt app, I got: getaddrinfo ENOTFOUND backend.localhost

I need your help and thank you in advance !
I am trying to make a call to the api platform in a nuxt app through axios but I got error of getaddrinfo ENOTFOUND backend.localhost when trying to make a get request with axios in my nuxt app.
My configuration is:
api platform is dockerized through symfony and used as the backend
traefik is used as reverse proxy
nuxt is not dockerized and used as frontend
Here is how my docker-compose looks like:
version: "3.8"
services:
backend:
build:
context: ./
dockerfile: ./infra/docker/backend/Dockerfile.dev
user: "${PUID}:${PGID}"
restart: unless-stopped
environment:
DATABASE_CLIENT: ${DATABASE_CLIENT}
DATABASE_NAME: ${DATABASE_NAME}
DATABASE_HOST: ${DATABASE_HOST}
DATABASE_PORT: ${DATABASE_PORT}
DATABASE_USERNAME: ${DATABASE_USERNAME}
DATABASE_PASSWORD: ${DATABASE_PASSWORD}
expose:
- 80
depends_on:
- mysql
volumes:
- ./backend:/app:rw,cached
labels:
- "traefik.enable=true"
- "traefik.http.routers.backend.rule=Host(`backend.localhost`)"
- "traefik.http.routers.backend.entrypoints=web"
sysctls:
- net.ipv4.ip_unprivileged_port_start=0
portainer:
image: portainer/portainer
restart: unless-stopped
command: --no-auth -H unix:///var/run/docker.sock
expose:
- 9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
labels:
- "traefik.enable=true"
- "traefik.http.routers.portainer.rule=Host(`portainer.localhost`)"
- "traefik.http.routers.portainer.entrypoints=web"
traefik:
image: "traefik:v2.2.5"
command:
- "--log.level=DEBUG"
- "--api.insecure=true"
# Enabling docker provider
- "--providers.docker=true"
# Do not expose containers unless explicitly told so
- "--providers.docker.exposedbydefault=false"
- "--entrypoints.web.address=:80"
ports:
- "80:80"
- "8080:8080"
labels:
- "traefik.enable=true"
- "traefik.http.routers.traefik.entrypoints=web"
- "traefik.http.routers.traefik.rule=Host(`monitor.localhost`)"
- "traefik.http.services.traefik.loadbalancer.server.port=8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
My nuxt.config.js:
...
axios: {
baseURL: 'http://backend.localhost/api'
}
....
I can access through the browser to the api UI via http://backend.localhost/api and everything works well there.
But making a request in my nuxt app code, leads to the error below:
Error: getaddrinfo ENOTFOUND backend.localhost
at GetAddrInfoReqWrap.onlookup [as oncomplete] (node:dns:69:26) {
errno: -3008,
code: 'ENOTFOUND',
syscall: 'getaddrinfo',
hostname: 'backend.localhost',
config: {
url: '/users',
method: 'get',
headers: {
connection: 'keep-alive',
'cache-control': 'max-age=0',
'sec-ch-ua': '"Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': '"Windows"',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'navigate',
'sec-fetch-dest': 'document',
referer: 'http://localhost:3000/',
'accept-encoding': 'gzip, deflate',
'accept-language': 'en-GB,en;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6',
cookie: 'phpMyAdmin=46260be5bb513da7351adb73a0f4af8e; io=7IL9SV9Qq5sBDsGzAAAD; pmaAuth-1=%7B%22iv%22%3A%22yjzw8rQARGbpPBqg6BiNlQ%3D%3D%22%2C%22mac%22%3A%2213692b36a201adb505c7ce76926414461029f705%22%2C%22payload%22%3A%22oYBIB7LMEU96C4T5X6RxgQ%3D%3D%22%7D; i18n_redirected=fr',
'if-none-match': '"46616-dbF9UDJNzxIn7dMVplznpaaPF6s"',
Accept: 'application/json, text/plain, */*'
},
baseURL: 'http://backend.localhost/api',
transformRequest: [ [Function: transformRequest] ],
transformResponse: [ [Function: transformResponse] ],
timeout: 0,
adapter: [Function: httpAdapter],
xsrfCookieName: 'XSRF-TOKEN',
xsrfHeaderName: 'X-XSRF-TOKEN',
maxContentLength: -1,
maxBodyLength: -1,
validateStatus: [Function: validateStatus],
transitional: {
silentJSONParsing: true,
forcedJSONParsing: true,
clarifyTimeoutError: false
},
data: undefined
},
request: <ref *1> Writable {
_writableState: WritableState {
objectMode: false,
highWaterMark: 16384,
finalCalled: false,
needDrain: false,
ending: false,
ended: false,
finished: false,
destroyed: false,
decodeStrings: true,
defaultEncoding: 'utf8',
length: 0,
writing: false,
corked: 0,
sync: true,
bufferProcessing: false,
onwrite: [Function: bound onwrite],
writecb: null,
writelen: 0,
afterWriteTickInfo: null,
buffered: [],
bufferedIndex: 0,
allBuffers: true,
allNoop: true,
pendingcb: 0,
constructed: true,
prefinished: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
errored: null,
closed: false,
closeEmitted: false,
[Symbol(kOnFinished)]: []
},
_events: [Object: null prototype] {
response: [Function: handleResponse],
error: [Function: handleRequestError]
},
_eventsCount: 2,
_maxListeners: undefined,
_options: {
maxRedirects: 21,
maxBodyLength: 10485760,
protocol: 'http:',
path: '/api/users',
method: 'GET',
headers: [Object],
agent: undefined,
agents: [Object],
auth: undefined,
hostname: 'backend.localhost',
port: null,
nativeProtocols: [Object],
pathname: '/api/users'
},
_ended: true,
_ending: true,
_redirectCount: 0,
_redirects: [],
_requestBodyLength: 0,
_requestBodyBuffers: [],
_onNativeResponse: [Function (anonymous)],
_currentRequest: ClientRequest {
_events: [Object: null prototype],
_eventsCount: 7,
_maxListeners: undefined,
outputData: [],
outputSize: 0,
writable: true,
destroyed: false,
_last: true,
chunkedEncoding: false,
shouldKeepAlive: true,
_defaultKeepAlive: true,
useChunkedEncodingByDefault: false,
sendDate: false,
_removedConnection: false,
_removedContLen: false,
_removedTE: false,
_contentLength: 0,
_hasBody: true,
_trailer: '',
finished: true,
_headerSent: true,
_closed: false,
socket: [Socket],
_header: 'GET /api/users HTTP/1.1\r\n' +
'connection: keep-alive\r\n' +
'cache-control: max-age=0\r\n' +
'sec-ch-ua: "Chromium";v="94", "Google Chrome";v="94", ";Not A Brand";v="99"\r\n' +
'sec-ch-ua-mobile: ?0\r\n' +
'sec-ch-ua-platform: "Windows"\r\n' +
'upgrade-insecure-requests: 1\r\n' +
'user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36\r\n' +
'sec-fetch-site: same-origin\r\n' +
'sec-fetch-mode: navigate\r\n' +
'sec-fetch-dest: document\r\n' +
'referer: http://localhost:3000/\r\n' +
'accept-encoding: gzip, deflate\r\n' +
'accept-language: en-GB,en;q=0.9,fr-FR;q=0.8,fr;q=0.7,en-US;q=0.6\r\n' +
'cookie: phpMyAdmin=46260be5bb513da7351adb73a0f4af8e; io=7IL9SV9Qq5sBDsGzAAAD; pmaAuth-1=%7B%22iv%22%3A%22yjzw8rQARGbpPBqg6BiNlQ%3D%3D%22%2C%22mac%22%3A%2213692b36a201adb505c7ce76926414461029f705%22%2C%22payload%22%3A%22oYBIB7LMEU96C4T5X6RxgQ%3D%3D%22%7D; i18n_redirected=fr\r\n' +
'if-none-match: "46616-dbF9UDJNzxIn7dMVplznpaaPF6s"\r\n' +
'Accept: application/json, text/plain, */*\r\n' +
'Host: backend.localhost\r\n' +
'\r\n',
_keepAliveTimeout: 0,
_onPendingData: [Object],
agent: [Agent],
socketPath: undefined,
method: 'GET',
maxHeaderSize: undefined,
insecureHTTPParser: undefined,
path: '/api/users',
_ended: false,
res: null,
aborted: false,
timeoutCb: null,
upgradeOrConnect: false,
parser: null,
maxHeadersCount: null,
reusedSocket: false,
host: 'backend.localhost',
protocol: 'http:',
_redirectable: [Circular *1],
[Symbol(kCapture)]: false,
[Symbol(kNeedDrain)]: false,
[Symbol(corked)]: 0,
[Symbol(kOutHeaders)]: [Object: null prototype]
},
_currentUrl: 'http://backend.localhost/api/users',
[Symbol(kCapture)]: false
},
response: undefined,
isAxiosError: true,
toJSON: [Function: toJSON]
}
Here is the way I made the request:
async fetch() {
....
await this.$axios.$get('/users')
...
}
I found the root cause of the issue.
Indeed, I am using a windows 10 Family edition. That windows version requires installing window sub linux wsl + docker desktop to be able to use docker.
So, using docker with wsl makes my backend.localhost NOT FOUND because docker is isolated into wsl and communicates with my host only by its own ipV4 that you can find by opening the wsl terminal and typing ipconfig.exe and locating ipV4 in ethernet vEthernet (WSL).
Replace the backend.localhost by that ip and exposing your backend service to the port 81 as ipV4:81 => you get everything working.

Why does my Python Post Request return a 400 error?

I'm trying to get the lat long coordinates of known land parcels using a government land locater app. The website is www.makani.ae
Say I input land number "3520461" into the search field and search for it. I'm trying to replicate the post requests as such:
import requests
url = 'https://www.makani.ae/makaniproxy/Makani.svc/getmakanidatanew'
headers = {
"Host": "www.makani.ae",
"Connection": "keep-alive",
"Content-Length": "291",
"Accept": "application/json, text/javascript, */*; q=0.01",
"Origin": "http://www.makani.ae",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36",
"Content-Type": "application/json;charset=UTF-8",
"Sec-Fetch-Site": "cross-site",
"Sec-Fetch-Mode": "cors",
"Referer": "http://www.makani.ae/desktop/index.html?25",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9"
}
payload = {
'parameters': {
'InputJson': {
'searchtext': '3520461',
'lang': 'E',
'currentlocation': '25.26452971,55.31196410',
'distancetype': 'KM',
'level': '2',
'userid': '',
'sessionid': ''},
'Token': 'b7s5isip5p6nkrenhfbd9bdbg8!=+=BDEE6d4K4CL6nplm720bIA==',
'Remarks': 'Makani Phase 2'},
'url': 'http://www.makani.ae/MakaniPhase2ProxyWebService/MakaniPhase2Proxy.svc/SmartSearch'
}
r = requests.post(url,data=payload, headers=headers)
This returns a 400 error. Where am I going wrong?
Your headers looks a bit off. I would recommend replacing your current headers with this one:
headers = {
"Accept": "application/json, text/javascript, */*; q=0.01",
"Origin": "http://www.makani.ae",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36",
"Content-Type": "application/json;charset=UTF-8",
"Sec-Fetch-Site": "cross-site",
"Sec-Fetch-Mode": "cors",
"Referer": "http://www.makani.ae/desktop/index.html?25",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9"
}
Hope this helps
I realized that the issue was with the nested dictionary in my payload variable. Credits to https://stackoverflow.com/a/57999804. Working code below:
import requests
import json
url = 'https://www.makani.ae/makaniproxy/Makani.svc/getmakanidatanew'
headers = {
"Host": "www.makani.ae",
"Connection": "keep-alive",
"Content-Length": "291",
"Accept": "application/json, text/javascript, */*; q=0.01",
"Origin": "http://www.makani.ae",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.70 Safari/537.36",
"Content-Type": "application/json;charset=UTF-8",
"Sec-Fetch-Site": "cross-site",
"Sec-Fetch-Mode": "cors",
"Referer": "http://www.makani.ae/desktop/index.html?25",
"Accept-Encoding": "gzip, deflate, br",
"Accept-Language": "en-US,en;q=0.9"
}
payload = {
'parameters': {
'InputJson': {
'searchtext': '3520461',
'lang': 'E',
'currentlocation': '25.26452971,55.31196410',
'distancetype': 'KM',
'level': '2',
'userid': '',
'sessionid': ''},
'Token': 'b7s5isip5p6nkrenhfbd9bdbg8!=+=BDEE6d4K4CL6nplm720bIA==',
'Remarks': 'Makani Phase 2'},
'url': 'http://www.makani.ae/MakaniPhase2ProxyWebService/MakaniPhase2Proxy.svc/SmartSearch'
}
r = requests.post(url,data=json.dumps(payload), headers=headers)

How to use customized cards with Microsoft Teams webhook

Adaptive cards receive "bad request 400" error
I'm trying to send a POST request from AWS Lambda running Python 3.7 using the urlopen method
I have a regular card request that is working but an adaptive card will hit the error mentioned above.
Example of working card:
{'#context': 'https://schema.org/extensions', '#type': 'MessageCard', 'themeColor': 'd63333', 'title': 'Red Alert - There is an issue Example alarm name', 'text': 'Example alarm name has changed from OK to ALARM - Threshold Crossed: 1 datapoint (10.0) was greater than or equal to the threshold (1.0).'}
Example of customized card (getting bad request error - 400):
{'#context': 'https://schema.org/extensions', '#type': 'AdaptiveCard', 'padding': 'none', 'body': [{'type': 'Container', 'style': 'emphasis', 'items': [{'type': 'ColumnSet', 'columns': [{'type': 'Column', 'items': [{'type': 'Image', 'horizontalAlignment': 'Right', 'url': 'https://miro.medium.com/max/1000/1*sszpZOih_xJV_lZsDbog-Q.png', 'height': '50px', 'altText': 'MC Logo'}], 'width': 'auto'}]}]}, {'type': 'Container', 'padding': {'top': 'none', 'left': 'default', 'bottom': 'default', 'right': 'default'}, 'items': [{'type': 'Container', 'items': [{'type': 'ColumnSet', 'spacing': 'Large', 'separator': 1, 'columns': [{'type': 'Column', 'verticalContentAlignment': 'center', 'items': [{'type': 'Image', 'horizontalAlignment': 'Center', 'style': 'Person', 'url': 'https://www.sccpre.cat/mypng/detail/57-574129_4-warning-stamp-vector-png-transparent-svg-warning.png', 'width': '60px', 'altText': 'warning logo'}], 'width': '60px'}, {'type': 'Column', 'items': [{'type': 'TextBlock', 'size': 'Medium', 'text': 'Example alarm name issue description', 'wrap': 1}, {'type': 'TextBlock', 'spacing': 'None', 'text': 'MC ETL Process notifier', 'isSubtle': 1}], 'width': 'stretch'}]}, {'type': 'FactSet', 'facts': [{'title': 'Incident time:', 'value': '06/07/2019 03:10:12 AM CT'}, {'title': 'Component:', 'value': 'AWS Glue - insert funds job'}, {'title': 'Overall nightly done:', 'value': '73%'}]}, {'type': 'TextBlock', 'spacing': 'Small', 'weight': 'Bolder', 'color': 'Accent', 'size': 'Medium', 'text': 'Click to restart'}, {'type': 'TextBlock', 'spacing': 'Small', 'weight': 'Bolder', 'color': 'Accent', 'size': 'Medium', 'text': 'Click to review logs'}]}]}], 'version': '1.0'}
What is wrong with my POST request?
Currently, Teams incoming Webhooks does not support Adaptive Cards. You can send only Message Card in connector messages. We are working on the Adaptive Card support but do not have timeline to share.

Highcharts jquery syntaxt in IE 8 not working

When using the jquery syntax $('#container').highcharts(...) and I later want to get a reference to the chart I get an error in IE 8. Example:
$('#container').highcharts({
chart: {
type: 'line',
marginRight: 130,
marginBottom: 25
},
title: {
text: 'Monthly Average Temperature',
x: -20 //center
},
subtitle: {
text: 'Source: WorldClimate.com',
x: -20
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
title: {
text: 'Temperature (°C)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: '°C'
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: [{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
}, {
name: 'New York',
data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
}, {
name: 'Berlin',
data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
}, {
name: 'London',
data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
}]
});
$('#container').highcharts().showLoading();
The final line fails in IE 8 (works in IE 10 + chrome etc) using version 3.0.1 og highcharts and 1.9.1 of jquery. Is this not the recommended way?
Webpage error details
User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)
Timestamp: Tue, 30 Apr 2013 08:07:37 UTC
Message: 'highcharts()' is null or not an object
Line: 66
Char: 9
Code: 0
URI: http://s3-eu-west-1.amazonaws.com/mala/highcharts.html

can feedparser parse geo-rss

the geo-rss.xml is :
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:gml="http://www.opengis.net/gml">
<channel>
<link>http://maps.google.com</link>
<title>beijing 1</title>
<description><![CDATA[dsad]]></description>
<item>
<guid isPermaLink="false">00048b5b66b7169311de4</guid>
<pubDate>Wed, 14 Jul 2010 16:23:08 +0000</pubDate>
<title>ww</title>
<description><![CDATA[<div dir="ltr">dwqd</div>]]></description>
<author>zjm1126</author>
<georss:point>
39.965015 116.362381
</georss:point>
<georss:elev>0.000000</georss:elev>
</item>
<item>
<guid isPermaLink="false">00048b5b6a51f18e53ea5</guid>
<pubDate>Wed, 14 Jul 2010 16:24:08 +0000</pubDate>
<title>线条 1</title>
<description><![CDATA[]]></description>
<author>zjm1126</author>
<gml:LineString>
<gml:posList>
39.992191 116.417938
39.968254 116.466698
39.939568 116.451591
39.959045 116.411079
</gml:posList>
</gml:LineString>
</item>
<item>
<guid isPermaLink="false">00048b5b6a520c46d52bd</guid>
<pubDate>Wed, 14 Jul 2010 16:24:08 +0000</pubDate>
<title>线条 2</title>
<description><![CDATA[<br>]]></description>
<author>zjm1126</author>
<gml:LineString>
<gml:posList>
39.990536 116.437225
39.963963 116.477051
39.958702 116.437912
39.959045 116.411079
</gml:posList>
</gml:LineString>
</item>
<item>
<guid isPermaLink="false">00048b5b6a521daa5391e</guid>
<pubDate>Wed, 14 Jul 2010 16:24:08 +0000</pubDate>
<title>qqdw</title>
<description><![CDATA[dsa]]></description>
<author>zjm1126</author>
<gml:LineString>
<gml:posList>
39.987720 116.519913
39.947990 116.556641
39.959045 116.523003
</gml:posList>
</gml:LineString>
</item>
<item>
<guid isPermaLink="false">00048b5b6a52357ab39f0</guid>
<pubDate>Wed, 14 Jul 2010 16:24:08 +0000</pubDate>
<title>dwqd</title>
<description><![CDATA[]]></description>
<author>zjm1126</author>
<gml:Polygon>
<gml:exterior>
<gml:LinearRing>
<gml:posList>
40.034264 116.451241
40.015781 116.437225
40.011654 116.409363
40.033478 116.430305
40.034264 116.451241
</gml:posList>
</gml:LinearRing>
</gml:exterior>
</gml:Polygon>
</item>
</channel>
</rss>
and feedparser 's code is :
import feedparser
class read(BaseRequestHandler):
def post(self):
url=self.request.POST['url']
d = feedparser.parse(url)
o=d
self.response.out.write(''.join('%s: %s <br/>' % (a, getattr(o, a)) for a in dir(o)))
return
when i parse geo-rss.xml use feedparser , it show :
__class__:
__cmp__:
__contains__:
dwqd
', 'language': None}, 'summary': u'
dwqd
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'ww', 'language': None}, 'elev': u'0.000000', 'id': u'http://maps.google.com/maps/00048b5b66b7169311de4'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 1', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 1', 'language': None}, 'poslist': u'39.992191 116.417938\n 39.968254 116.466698\n 39.939568 116.451591\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a51f18e53ea5'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 2', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'
', 'language': None}, 'summary': u'
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 2', 'language': None}, 'poslist': u'39.990536 116.437225\n 39.963963 116.477051\n 39.958702 116.437912\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a520c46d52bd'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'qqdw', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'dsa', 'language': None}, 'summary': u'dsa', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'qqdw', 'language': None}, 'poslist': u'39.987720 116.519913\n 39.947990 116.556641\n 39.959045 116.523003', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a521daa5391e'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'dwqd', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'dwqd', 'language': None}, 'poslist': u'40.034264 116.451241\n 40.015781 116.437225\n 40.011654 116.409363\n 40.033478 116.430305\n 40.034264 116.451241', 'exterior': u'', 'polygon': u'', 'id': u'http://maps.google.com/maps/00048b5b6a52357ab39f0', 'linearring': u''}]}>
__delattr__:
__delitem__:
__dict__: {}
__doc__: None
__eq__:
__ge__:
__getattr__:
dwqd
', 'language': None}, 'summary': u'
dwqd
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'ww', 'language': None}, 'elev': u'0.000000', 'id': u'http://maps.google.com/maps/00048b5b66b7169311de4'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 1', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 1', 'language': None}, 'poslist': u'39.992191 116.417938\n 39.968254 116.466698\n 39.939568 116.451591\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a51f18e53ea5'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 2', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'
', 'language': None}, 'summary': u'
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 2', 'language': None}, 'poslist': u'39.990536 116.437225\n 39.963963 116.477051\n 39.958702 116.437912\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a520c46d52bd'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'qqdw', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'dsa', 'language': None}, 'summary': u'dsa', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'qqdw', 'language': None}, 'poslist': u'39.987720 116.519913\n 39.947990 116.556641\n 39.959045 116.523003', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a521daa5391e'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'dwqd', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'dwqd', 'language': None}, 'poslist': u'40.034264 116.451241\n 40.015781 116.437225\n 40.011654 116.409363\n 40.033478 116.430305\n 40.034264 116.451241', 'exterior': u'', 'polygon': u'', 'id': u'http://maps.google.com/maps/00048b5b6a52357ab39f0', 'linearring': u''}]}>
__getattribute__:
__getitem__:
dwqd
', 'language': None}, 'summary': u'
dwqd
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'ww', 'language': None}, 'elev': u'0.000000', 'id': u'http://maps.google.com/maps/00048b5b66b7169311de4'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 1', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 1', 'language': None}, 'poslist': u'39.992191 116.417938\n 39.968254 116.466698\n 39.939568 116.451591\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a51f18e53ea5'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 2', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'
', 'language': None}, 'summary': u'
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 2', 'language': None}, 'poslist': u'39.990536 116.437225\n 39.963963 116.477051\n 39.958702 116.437912\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a520c46d52bd'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'qqdw', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'dsa', 'language': None}, 'summary': u'dsa', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'qqdw', 'language': None}, 'poslist': u'39.987720 116.519913\n 39.947990 116.556641\n 39.959045 116.523003', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a521daa5391e'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'dwqd', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'dwqd', 'language': None}, 'poslist': u'40.034264 116.451241\n 40.015781 116.437225\n 40.011654 116.409363\n 40.033478 116.430305\n 40.034264 116.451241', 'exterior': u'', 'polygon': u'', 'id': u'http://maps.google.com/maps/00048b5b6a52357ab39f0', 'linearring': u''}]}>
__gt__:
__hash__:
__init__:
__iter__:
__le__:
__len__:
__lt__:
__module__: feedparser
__ne__:
__new__:
__reduce__:
__reduce_ex__:
__repr__:
__setattr__:
dwqd
', 'language': None}, 'summary': u'
dwqd
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'ww', 'language': None}, 'elev': u'0.000000', 'id': u'http://maps.google.com/maps/00048b5b66b7169311de4'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 1', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 1', 'language': None}, 'poslist': u'39.992191 116.417938\n 39.968254 116.466698\n 39.939568 116.451591\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a51f18e53ea5'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 2', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'
', 'language': None}, 'summary': u'
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 2', 'language': None}, 'poslist': u'39.990536 116.437225\n 39.963963 116.477051\n 39.958702 116.437912\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a520c46d52bd'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'qqdw', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'dsa', 'language': None}, 'summary': u'dsa', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'qqdw', 'language': None}, 'poslist': u'39.987720 116.519913\n 39.947990 116.556641\n 39.959045 116.523003', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a521daa5391e'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'dwqd', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'dwqd', 'language': None}, 'poslist': u'40.034264 116.451241\n 40.015781 116.437225\n 40.011654 116.409363\n 40.033478 116.430305\n 40.034264 116.451241', 'exterior': u'', 'polygon': u'', 'id': u'http://maps.google.com/maps/00048b5b6a52357ab39f0', 'linearring': u''}]}>
__setitem__:
dwqd
', 'language': None}, 'summary': u'
dwqd
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'ww', 'language': None}, 'elev': u'0.000000', 'id': u'http://maps.google.com/maps/00048b5b66b7169311de4'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 1', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 1', 'language': None}, 'poslist': u'39.992191 116.417938\n 39.968254 116.466698\n 39.939568 116.451591\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a51f18e53ea5'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 2', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'
', 'language': None}, 'summary': u'
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'\u7ebf\u6761 2', 'language': None}, 'poslist': u'39.990536 116.437225\n 39.963963 116.477051\n 39.958702 116.437912\n 39.959045 116.411079', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a520c46d52bd'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'qqdw', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'dsa', 'language': None}, 'summary': u'dsa', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'qqdw', 'language': None}, 'poslist': u'39.987720 116.519913\n 39.947990 116.556641\n 39.959045 116.523003', 'linestring': u'', 'id': u'http://maps.google.com/maps/00048b5b6a521daa5391e'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'dwqd', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'', 'language': None}, 'summary': u'', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'dwqd', 'language': None}, 'poslist': u'40.034264 116.451241\n 40.015781 116.437225\n 40.011654 116.409363\n 40.033478 116.430305\n 40.034264 116.451241', 'exterior': u'', 'polygon': u'', 'id': u'http://maps.google.com/maps/00048b5b6a52357ab39f0', 'linearring': u''}]}>
__slotnames__: []
__str__:
__weakref__: None
clear:
copy:
fromkeys:
get:
dwqd
', 'language': None}, 'summary': u'
dwqd
', 'guidislink': False, 'title_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/plain', 'value': u'ww', 'language': None}, 'elev': u'0.000000', 'id': u'http://maps.google.com/maps/00048b5b66b7169311de4'}, {'updated': u'Wed, 14 Jul 2010 16:24:08 +0000', 'updated_parsed': (2010, 7, 14, 16, 24, 8, 2, 195, 0), 'title': u'\u7ebf\u6761 1', 'author': u'zjm1126', 'summary_detail': {'base': u'http://maps.google.com/maps/ms?ie=UTF8&hl=zh-CN&vps=1&jsv=255b&msa=0&output=georss&msid=109685068115364659392.00048b5b630141d82b83a', 'type': 'text/html', 'value': u'',
i want to know , is this data useful for me ?
thanks
The patch
http://feedparser.googlecode.com/issues/attachment?aid=-5035140636427960669&name=georss-gml.patch&token=dcfce8c56d5beb3ebf566bc3c16994e2
attached to
http://code.google.com/p/feedparser/issues/detail?id=62
will let you parse GeoRSS of different flavors.

Resources