html5lib / html5lib-python

Standards-compliant library for parsing and serializing HTML documents and fragments in Python
MIT License
1.13k stars 284 forks source link

Beautiful soup + html5lib - AttributeError: 'NoneType' object has no attribute 'next_element' #406

Closed grking8 closed 6 years ago

grking8 commented 6 years ago

(not sure if this is an html5lib or bs4 issue, but any help appreciated)

NoneType error when using html5lib with beautiful soup but when using lxml no error

from bs4 import BeautifulSoup

with open('test1.html') as f:
    html = f.read()
soup = BeautifulSoup(html, 'html5lib')
races = soup.select('.mb-3')
for race in races:
    print(race.find('h3'))
Traceback (most recent call last):
  File "test.py", line 8, in <module>
    print(race.find('h3'))
  File "/home/guy/anaconda3/envs/ingestion-pipeline/lib/python3.6/site-packages/bs4/element.py", line 1292, in find
    l = self.find_all(name, attrs, recursive, text, 1, **kwargs)
  File "/home/guy/anaconda3/envs/ingestion-pipeline/lib/python3.6/site-packages/bs4/element.py", line 1313, in find_all
    return self._find_all(name, attrs, text, limit, generator, **kwargs)
  File "/home/guy/anaconda3/envs/ingestion-pipeline/lib/python3.6/site-packages/bs4/element.py", line 552, in _find_all
    i = next(generator)
  File "/home/guy/anaconda3/envs/ingestion-pipeline/lib/python3.6/site-packages/bs4/element.py", line 1327, in descendants
    stopNode = self._last_descendant().next_element
AttributeError: 'NoneType' object has no attribute 'next_element'

but using lxml instead of html5lib

from bs4 import BeautifulSoup

with open('test1.html') as f:
    html = f.read()
soup = BeautifulSoup(html, 'lxml')
races = soup.select('.mb-3')
for race in races:
    print(race.find('h3'))
<h3 class="border-bottom ">Twarted Rebellion</h3>
<h3 class="border-bottom ">Rebellion</h3>

here is test1.html

<!DOCTYPE html><html lang="en"><head>
<title>Rebellion Ultra Marathon - United Kingdom - Nov 02 2018 | ahotu</title>
<meta name="description" content="Detailed information on Rebellion Ultra Marathon, provided by ahotu Marathons with news, interviews, photos, videos, and reviews.">
<link rel="alternate" href="https://marathons.ahotu.fr/evenement/rebellion-ultra-marathon" hreflang="fr">
<link rel="alternate" href="https://yaristakvimi.com/etkinlik/rebellion-ultra-marathon" hreflang="tr">
<link rel="canonical" href="https://marathons.ahotu.com/event/rebellion-ultra-marathon">
<meta property="og:type" content="event">
<meta property="og:title" content="Rebellion Ultra Marathon - United Kingdom - Nov 02 2018">
<meta property="og:url" content="https://marathons.ahotu.com/event/rebellion-ultra-marathon">
<meta name="google-site-verification" content="NKM_rqyeTVHfMP0prDeXjDOR8imySuRpNMNPh7ivCxw">
<meta name="msvalidate.01" content="74F425779A230198737BF5AD9932444C">
<meta http-equiv="content-language" content="en">
<meta name="copyright" content="Copyright © 2009-2018 ahotu SAS. All rights reserved.">
<meta name="viewport" content="width=device-width, initial-scale=1 , maximum-scale=1.0, user-scalable=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<script type="text/javascript" src="https://bam.nr-data.net/1/46e6b0b681?a=114355063&amp;v=1099.d27c17c&amp;to=dgxYQ0BfCVpVRR9QbFAVU1lGHxZeX0A%3D&amp;rst=1809&amp;ref=https://marathons.ahotu.com/event/rebellion-ultra-marathon&amp;qt=7&amp;ap=220&amp;be=830&amp;fe=1782&amp;dc=882&amp;perf=%7B%22timing%22:%7B%22of%22:1540916157840,%22n%22:0,%22f%22:0,%22dn%22:0,%22dne%22:0,%22c%22:0,%22ce%22:0,%22rq%22:0,%22rp%22:0,%22rpe%22:833,%22dl%22:828,%22di%22:882,%22ds%22:882,%22de%22:956,%22dc%22:1782,%22l%22:1782,%22le%22:1783%7D,%22navigation%22:%7B%7D%7D&amp;jsonp=NREUM.setToken"></script><script src="https://js-agent.newrelic.com/nr-1099.min.js"></script><script type="text/javascript" id="www-widgetapi-script" src="https://s.ytimg.com/yts/jsbin/www-widgetapi-vflcPgmxB/www-widgetapi.js" async=""></script><script src="https://pagead2.googlesyndication.com/pagead/js/r20181024/r20180604/osd.js"></script><script src="https://pagead2.googlesyndication.com/pub-config/r20160913/ca-pub-7341172566673487.js"></script><script src="https://www.youtube.com/player_api"></script><script src="https://www.youtube.com/player_api"></script><script async="" src="//www.google-analytics.com/analytics.js"></script><script type="text/javascript">window.NREUM||(NREUM={});NREUM.info={"beacon":"bam.nr-data.net","errorBeacon":"bam.nr-data.net","licenseKey":"46e6b0b681","applicationID":"114355063","transactionName":"dgxYQ0BfCVpVRR9QbFAVU1lGHxZeX0A=","queueTime":7,"applicationTime":220,"agent":""}</script>
<script type="text/javascript">window.NREUM||(NREUM={}),__nr_require=function(e,n,t){function r(t){if(!n[t]){var o=n[t]={exports:{}};e[t][0].call(o.exports,function(n){var o=e[t][1][n];return r(o||n)},o,o.exports)}return n[t].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<t.length;o++)r(t[o]);return r}({1:[function(e,n,t){function r(){}function o(e,n,t){return function(){return i(e,[c.now()].concat(u(arguments)),n?null:this,t),n?void 0:this}}var i=e("handle"),a=e(3),u=e(4),f=e("ee").get("tracer"),c=e("loader"),s=NREUM;"undefined"==typeof window.newrelic&&(newrelic=s);var p=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],d="api-",l=d+"ixn-";a(p,function(e,n){s[n]=o(d+n,!0,"api")}),s.addPageAction=o(d+"addPageAction",!0),s.setCurrentRouteName=o(d+"routeName",!0),n.exports=newrelic,s.interaction=function(){return(new r).get()};var m=r.prototype={createTracer:function(e,n){var t={},r=this,o="function"==typeof n;return i(l+"tracer",[c.now(),e,t],r),function(){if(f.emit((o?"":"no-")+"fn-start",[c.now(),r,o],t),o)try{return n.apply(this,arguments)}catch(e){throw f.emit("fn-err",[arguments,this,e],t),e}finally{f.emit("fn-end",[c.now()],t)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(e,n){m[n]=o(l+n)}),newrelic.noticeError=function(e){"string"==typeof e&&(e=new Error(e)),i("err",[e,c.now()])}},{}],2:[function(e,n,t){function r(e,n){if(!o)return!1;if(e!==o)return!1;if(!n)return!0;if(!i)return!1;for(var t=i.split("."),r=n.split("."),a=0;a<r.length;a++)if(r[a]!==t[a])return!1;return!0}var o=null,i=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var u=navigator.userAgent,f=u.match(a);f&&u.indexOf("Chrome")===-1&&u.indexOf("Chromium")===-1&&(o="Safari",i=f[1])}n.exports={agent:o,version:i,match:r}},{}],3:[function(e,n,t){function r(e,n){var t=[],r="",i=0;for(r in e)o.call(e,r)&&(t[i]=n(r,e[r]),i+=1);return t}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],4:[function(e,n,t){function r(e,n,t){n||(n=0),"undefined"==typeof t&&(t=e?e.length:0);for(var r=-1,o=t-n||0,i=Array(o<0?0:o);++r<o;)i[r]=e[n+r];return i}n.exports=r},{}],5:[function(e,n,t){n.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(e,n,t){function r(){}function o(e){function n(e){return e&&e instanceof r?e:e?f(e,u,i):i()}function t(t,r,o,i){if(!d.aborted||i){e&&e(t,r,o);for(var a=n(o),u=v(t),f=u.length,c=0;c<f;c++)u[c].apply(a,r);var p=s[y[t]];return p&&p.push([b,t,r,a]),a}}function l(e,n){h[e]=v(e).concat(n)}function m(e,n){var t=h[e];if(t)for(var r=0;r<t.length;r++)t[r]===n&&t.splice(r,1)}function v(e){return h[e]||[]}function g(e){return p[e]=p[e]||o(t)}function w(e,n){c(e,function(e,t){n=n||"feature",y[t]=n,n in s||(s[n]=[])})}var h={},y={},b={on:l,addEventListener:l,removeEventListener:m,emit:t,get:g,listeners:v,context:n,buffer:w,abort:a,aborted:!1};return b}function i(){return new r}function a(){(s.api||s.feature)&&(d.aborted=!0,s=d.backlog={})}var u="nr@context",f=e("gos"),c=e(3),s={},p={},d=n.exports=o();d.backlog=s},{}],gos:[function(e,n,t){function r(e,n,t){if(o.call(e,n))return e[n];var r=t();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,n,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return e[n]=r,r}var o=Object.prototype.hasOwnProperty;n.exports=r},{}],handle:[function(e,n,t){function r(e,n,t,r){o.buffer([e],r),o.emit(e,n,t)}var o=e("ee").get("handle");n.exports=r,r.ee=o},{}],id:[function(e,n,t){function r(e){var n=typeof e;return!e||"object"!==n&&"function"!==n?-1:e===window?0:a(e,i,function(){return o++})}var o=1,i="nr@id",a=e("gos");n.exports=r},{}],loader:[function(e,n,t){function r(){if(!E++){var e=x.info=NREUM.info,n=l.getElementsByTagName("script")[0];if(setTimeout(s.abort,3e4),!(e&&e.licenseKey&&e.applicationID&&n))return s.abort();c(y,function(n,t){e[n]||(e[n]=t)}),f("mark",["onload",a()+x.offset],null,"api");var t=l.createElement("script");t.src="https://"+e.agent,n.parentNode.insertBefore(t,n)}}function o(){"complete"===l.readyState&&i()}function i(){f("mark",["domContent",a()+x.offset],null,"api")}function a(){return O.exists&&performance.now?Math.round(performance.now()):(u=Math.max((new Date).getTime(),u))-x.offset}var u=(new Date).getTime(),f=e("handle"),c=e(3),s=e("ee"),p=e(2),d=window,l=d.document,m="addEventListener",v="attachEvent",g=d.XMLHttpRequest,w=g&&g.prototype;NREUM.o={ST:setTimeout,SI:d.setImmediate,CT:clearTimeout,XHR:g,REQ:d.Request,EV:d.Event,PR:d.Promise,MO:d.MutationObserver};var h=""+location,y={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-1099.min.js"},b=g&&w&&w[m]&&!/CriOS/.test(navigator.userAgent),x=n.exports={offset:u,now:a,origin:h,features:{},xhrWrappable:b,userAgent:p};e(1),l[m]?(l[m]("DOMContentLoaded",i,!1),d[m]("load",r,!1)):(l[v]("onreadystatechange",o),d[v]("onload",r)),f("mark",["firstbyte",u],null,"api");var E=0,O=e(5)},{}]},{},["loader"]);</script>
<meta property="fb:pages" content="126104715307">
<link rel="stylesheet" media="screen" href="/packs/application-97cae14c6295693f5dd044d9516a23b8.css">
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-362905-3', 'auto', {'allowLinker': true});
  ga('require', 'linker');
  ga('linker:autoLink', ['ahotu.com', 'ahotu.fr']);
  ga('send', 'pageview');

</script>
<script async="" src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!--[if lt IE 9]>
      <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7/html5shiv.min.js"></script>
      <script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
<meta name="csrf-param" content="authenticity_token">
<meta name="csrf-token" content="zYC9I+M6sSwEG1kdSlDNy7tLCHpr1JJUI2xhZnPI5gdNlcwQ5YQbVDcrrZ6/ZBs2kTuTb9//1AKj4A/JDNZexA==">
<style type="text/css">.vue2leaflet-map{height:100%;width:100%}</style><link rel="preload" href="https://adservice.google.co.uk/adsid/integrator.js?domain=marathons.ahotu.com"><script type="text/javascript" src="https://adservice.google.co.uk/adsid/integrator.js?domain=marathons.ahotu.com"></script><link rel="preload" href="https://adservice.google.com/adsid/integrator.js?domain=marathons.ahotu.com"><script type="text/javascript" src="https://adservice.google.com/adsid/integrator.js?domain=marathons.ahotu.com"></script><link rel="preload" href="https://pagead2.googlesyndication.com/pagead/js/r20181024/r20180604/show_ads_impl.js"></head>
<body>
<div id="app"><div class="ad-container text-center"><!----> </div> <div class="bg-white w-100 sticky-top pt-1"><div class="d-flex justify-content-between first-line"><a href="/" class="pl-2"><img height="30px" src="/packs/images/logo-en-69d2210d6f6394240b06a8f44eab1175.png"></a> <div class="d-inline-block"><button type="button" class="btn btn-outline-secondary"><i class="icon-search"></i></button> <!----> <a href="/members/sign_in" target="_self" class="btn btn-outline-secondary">Sign in</a></div></div> <ul class="nav nav-pills nav-justified top-menu"><li class="nav-item"><a href="/calendar" class="nav-link">Calendars</a></li> <li class="nav-item"><a href="/news" class="nav-link">News</a></li> <li class="nav-item"><a href="/advanced-search" class="nav-link">Advanced Search</a></li></ul> <div class="w-100" style="display: none;"><div tabindex="-1" class="multiselect"><div class="multiselect__select"></div>  <div class="multiselect__tags"><div class="multiselect__tags-wrap" style="display: none;"></div> <!----> <div class="multiselect__spinner" style="display: none;"></div> <input name="" type="text" autocomplete="off" placeholder="Search Event" tabindex="0" class="multiselect__input"> <!----></div> <div class="multiselect__content-wrapper" style="max-height: 300px; display: none;"><ul class="multiselect__content" style="display: block;"> <!---->  <li style="display: none;"><span class="multiselect__option"><span>No event found. You should try the advanced search.</span></span></li> </ul></div></div></div></div> <div class="row"><div class="container"></div></div> <script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Event",
  "name": "Rebellion Ultra Marathon",
  "startDate": "2018-11-02",
  "description": "Detailed information on Rebellion Ultra Marathon, provided by ahotu Marathons with news, interviews, photos, videos, and reviews.",
  "location" : {
    "@type" : "Place",
    "name" : "Knighton",
    "address" : {
      "@type" : "PostalAddress",
      "addressCountry" : "gb",
      "addressLocality" : "Knighton",
      "addressRegion" : "Powys"
    }
  }
}
</script> <div class="vue2leaflet-map leaflet-container leaflet-touch leaflet-fade-anim leaflet-grab leaflet-touch-drag leaflet-touch-zoom" tabindex="0" style="height: 300px; position: relative;"><!----> <div style="display: none;"><div></div></div><div class="leaflet-pane leaflet-map-pane" style="transform: translate3d(0px, 0px, 0px);"><div class="leaflet-pane leaflet-tile-pane"><div class="leaflet-layer " style="z-index: 1; opacity: 1;"><div class="leaflet-tile-container leaflet-zoom-animated" style="z-index: 18; transform: translate3d(0px, 0px, 0px) scale(1);"><img alt="" role="presentation" src="https://b.tile.osm.org/5/15/10.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(325px, 17px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://a.tile.osm.org/5/15/9.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(325px, -239px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://a.tile.osm.org/5/14/10.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(69px, 17px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://c.tile.osm.org/5/16/10.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(581px, 17px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://c.tile.osm.org/5/15/11.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(325px, 273px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://c.tile.osm.org/5/14/9.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(69px, -239px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://b.tile.osm.org/5/16/9.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(581px, -239px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://b.tile.osm.org/5/14/11.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(69px, 273px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://a.tile.osm.org/5/16/11.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(581px, 273px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://c.tile.osm.org/5/13/10.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(-187px, 17px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://a.tile.osm.org/5/17/10.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(837px, 17px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://b.tile.osm.org/5/13/9.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(-187px, -239px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://c.tile.osm.org/5/17/9.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(837px, -239px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://a.tile.osm.org/5/13/11.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(-187px, 273px, 0px); opacity: 1;"><img alt="" role="presentation" src="https://b.tile.osm.org/5/17/11.png" class="leaflet-tile leaflet-tile-loaded" style="width: 256px; height: 256px; transform: translate3d(837px, 273px, 0px); opacity: 1;"></div></div></div><div class="leaflet-pane leaflet-shadow-pane"></div><div class="leaflet-pane leaflet-overlay-pane"></div><div class="leaflet-pane leaflet-marker-pane"><img src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzUwJyBoZWlnaHQ9JzUwJz48Y2lyY2xlIGZpbGw9J3doaXRlJyBzdHJva2U9J2JsYWNrJyBzdHJva2Utd2lkdGg9JzInIGN4PScyNScgY3k9JzI1JyByPScyNCcvPjxjaXJjbGUgZmlsbD0nYmxhY2snICBjeD0nMjUnIGN5PScyNScgcj0nMTMnLz48L3N2Zz4=" class="leaflet-marker-icon leaflet-zoom-animated leaflet-interactive" alt="" tabindex="0" style="margin-left: -10px; margin-top: 0px; width: 20px; height: 20px; transform: translate3d(512px, 150px, 0px); z-index: 150;"></div><div class="leaflet-pane leaflet-tooltip-pane"></div><div class="leaflet-pane leaflet-popup-pane"></div><div class="leaflet-proxy leaflet-zoom-animated"></div></div><div class="leaflet-control-container"><div class="leaflet-top leaflet-left"><div class="leaflet-control-zoom leaflet-bar leaflet-control"><a class="leaflet-control-zoom-in" href="#" title="Zoom in" role="button" aria-label="Zoom in">+</a><a class="leaflet-control-zoom-out" href="#" title="Zoom out" role="button" aria-label="Zoom out">−</a></div></div><div class="leaflet-top leaflet-right"></div><div class="leaflet-bottom leaflet-left"></div><div class="leaflet-bottom leaflet-right"><div class="leaflet-control-attribution leaflet-control"><a href="http://leafletjs.com" title="A JS library for interactive maps">Leaflet</a> | © <a href="http://osm.org/copyright">OpenStreetMap</a> contributors</div></div></div></div> <div class="container-fluid"><div class="row"><div class="col-12 col-md-auto fixed-sidebar"><a href="https://marathons.ahotu.com/advanced-search.json?page=1&amp;country=GBR" class="btn btn-secondary btn-sm my-3">Back</a> <div class="center"><ins data-ad-client="ca-pub-7341172566673487" data-ad-slot="7058648127" data-ad-format="auto" class="adsbygoogle ahotu-marathons-event_page-sidebar" style="display: block; height: 600px;" data-adsbygoogle-status="done"><ins id="aswift_0_expand" style="display:inline-table;border:none;height:600px;margin:0;padding:0;position:relative;visibility:visible;width:160px;background-color:transparent;"><ins id="aswift_0_anchor" style="display:block;border:none;height:600px;margin:0;padding:0;position:relative;visibility:visible;width:160px;background-color:transparent;"><iframe width="160" height="600" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_0" name="aswift_0" style="left:0;position:absolute;top:0;width:160px;height:600px;"></iframe></ins></ins></ins></div></div> <div class="col-12 col-md"><div><div class="row"><h1>Rebellion Ultra Marathon</h1></div> <div class="row"><div class="col-12"><nav aria-label="breadcrumb"><ol class="breadcrumb "><li class="breadcrumb-item"><a href="/calendar/europe">Europe</a></li> <li class="breadcrumb-item"><a href="/calendar/northern-europe">Northern Europe</a></li> <li class="breadcrumb-item"><a href="/calendar/united-kingdom"><img src="https://d5rjjzm7hs237.cloudfront.net/country/flags/94/small/ahotu_597d7614a0b1922677c0.png?1240470312"> United Kingdom</a></li> <li class="breadcrumb-item"><a href="/calendar/wales">Wales</a></li> <li class="breadcrumb-item"><a href="/calendar/powys">Powys</a></li> <li class="active breadcrumb-item">Knighton</li></ol></nav></div></div></div> <div class=" card pt-3"><div class="row"><div class="col-1 text-right"><i class="icon-calendar"></i></div> <div class="col">
November 02, 2018
<span data-v-0ec37324="">(in 2 days )</span></div></div> <div class="row"><div class="col-1 text-right"><i class="icon-time"></i></div> <div class="col">
The event starts at 19:00.
</div></div> <div class="row mt-2"><div class="col offset-1 text-justify mr-5 mt-3"><div><div class="pr-2 content overflowHidden"><p>The Rebellion is a 135 mile (217 Km) Ultra Marathon in Mid Wales starting on 3rd of November 2017. The route is along the full length of Glyndŵr Way National Trail with a total ascent of just over 25,000ft (7700m). The route takes you through some of the most beautiful and remote parts of Mid Wales. Starting in Knighton looping through Machynlleth and then finishing in Welshpool – the route is one of the most picturesque and challenging in the UK.<br>
The Glyndŵr Way National Trail is an unusual National Trail as it doesn’t follow any particular geographic features or any historic routes. It is named after Owain Glyndŵr who led a rebellion against the English and the last Welshman to hold the title Prince of Wales. The Glyndŵr’s Way is an arbitrary route merely linking a variety of towns and villages with Glyndŵr connections. This the reason for its unusual V shape.</p> <p>The race starts at 7pm on Friday the 3rd November and has a 72 hour time limit to reach Welshpool (7pm on Monday the 6th November). Meaning competitors must average just 1.85 miles (3km) per hour to complete the race. There are 4 checkpoints on route that all competitors must pass through within a time limit. Each checkpoint is a community hall/leisure centre that is well stocked with food, hot drinks and water for competitors to recharge and re-supply. There will also be floor space at each checkpoint for competitors to sleep if they so wish. Competitors can use drop bags, accessible at each checkpoint.</p></div> <div></div> <div class="my-3 d-flex "><button class="btn btn-outline-secondary btn-sm" style="">Show the whole description</button> <!----></div></div></div></div></div> <ins data-ad-client="ca-pub-7341172566673487" data-ad-slot="2342998754" data-ad-format="auto" class="adsbygoogle ahotu-marathons-event_page_top mt-3 mx-auto" style="display: block; height: 90px;" data-adsbygoogle-status="done"><ins id="aswift_1_expand" style="display:inline-table;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:728px;background-color:transparent;"><ins id="aswift_1_anchor" style="display:block;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:728px;background-color:transparent;"><iframe width="728" height="90" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_1" name="aswift_1" style="left:0;position:absolute;top:0;width:728px;height:90px;"></iframe></ins></ins></ins> <div class="container-fluid"><div class="row card mt-3"><div class="card-header bg-secondary text-white p-2 m-0"><h2>Official website</h2></div> <div class="card-body pt-3 text-center"><a href="https://www.uphilldowndale.com/events/rebellion-ultra-marathon" target="_blank" rel="nofollow"><p class="text-center top-buffer"><span class="btn btn-outline-secondary mt-2">
Click to reach the official site
</span></p></a> <p>
Information about the event is available in : <span class="badge right-sm-buffer badge-secondary">
English
</span></p></div></div></div> <div class=" card p-3 mt-3 bg-light font-weight-light font-italic">
The information about this race is based on information provided by the organizers or found on the official website of the event. Always check the official website for up-to-date information. If you have noticed any mistake, let us know at contact@ahotu.com.
</div> <div class="container-fluid"><div class="row card mt-3"><div class="card-header bg-secondary text-white p-2 m-0"><h2>Contact</h2></div> <div class="card-body pt-3 "><div class="row"><div class="col-1 text-right">@</div> <div class="col"> info@uphilldowndale.com </div></div> <div class="row"><div class="col-1 text-right"></div> <div class="col social-icons text-center"><a href="https://www.facebook.com/uphilldowndale/" class="facebook"><i class="icon-facebook-square"></i></a> <a href="https://twitter.com/UpHillDD" class="twitter"><i class="icon-twitter-square"></i></a> <a href="https://www.instagram.com/uphilldd/?hl=en" class="instagram"><i class="icon-instagram"></i></a></div></div></div></div></div> <div class="container-fluid"><div class="row card mt-3"><div class="card-header bg-secondary text-white p-2 m-0"><h2>Races</h2></div> <div class="card-body pt-3 "><div class="mb-3"><h3 class="border-bottom ">Twarted Rebellion</h3> <div class="row"><div class="col-1 text-right"><i class="icon-time"></i></div> <div class="col">November 02, 2018 (Friday) - 19:00
<br>Cut off: 72:00 hours
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-directions_run"></i></div> <div class="col">Running
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-circle  type-2"></i></div> <div class="col">75 miles
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-Elevation-gain"></i></div> <div class="col">4,380 meters
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-Elevation-loss"></i></div> <div class="col">4,530 meters
</div></div> <div class="row"><div class="col-1 text-right">&nbsp;</div> <div class="col">5 ITRA Points
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-tags"></i></div> <div class="col"><span class="badge badge-secondary">Trail</span> <span class="badge badge-secondary">Point to Point</span> <span class="badge badge-secondary">Mountain</span> <span class="badge badge-secondary">UTMB </span> <span class="badge badge-secondary">Solo</span></div></div> <div class="row"><div class="col-1 text-right"><i class="icon-users"></i></div> <div class="col">
The number for participants for the race is capped to 150.
</div></div> <div class="row"><div class="col-1 text-right">&nbsp;</div> <div class="col"><div><div class="pr-2 content overflowHidden"></div> <div></div> <div class="my-3 d-flex "><button class="btn btn-outline-secondary btn-sm" style="display: none;">Show the whole description</button> <!----></div></div></div></div></div><div class="mb-3"><h3 class="border-bottom ">Rebellion</h3> <div class="row"><div class="col-1 text-right"><i class="icon-time"></i></div> <div class="col">November 02, 2018 (Friday) - 19:00
<br>Cut off: 72:00 hours
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-directions_run"></i></div> <div class="col">Running
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-circle  type-2"></i></div> <div class="col">135 miles
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-Elevation-gain"></i></div> <div class="col">6,910 meters
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-Elevation-loss"></i></div> <div class="col">7,010 meters
</div></div> <div class="row"><div class="col-1 text-right">&nbsp;</div> <div class="col">6 ITRA Points
</div></div> <div class="row"><div class="col-1 text-right"><i class="icon-tags"></i></div> <div class="col"><span class="badge badge-secondary">Trail</span> <span class="badge badge-secondary">Point to Point</span> <span class="badge badge-secondary">Mountain</span> <span class="badge badge-secondary">UTMB </span> <span class="badge badge-secondary">Solo</span></div></div> <div class="row"><div class="col-1 text-right"><i class="icon-users"></i></div> <div class="col">
The number for participants for the race is capped to 150.
</div></div> <div class="row"><div class="col-1 text-right">&nbsp;</div> <div class="col"><div><div class="pr-2 content overflowHidden"></div> <div></div> <div class="my-3 d-flex "><button class="btn btn-outline-secondary btn-sm" style="display: none;">Show the whole description</button> <!----></div></div></div></div></div></div></div></div> <ins data-ad-client="ca-pub-7341172566673487" data-ad-slot="4579114008" data-ad-format="auto" class="adsbygoogle ahotu_marathons_event_page_middle mt-3 mx-auto" style="display: block; height: 90px;" data-adsbygoogle-status="done"><ins id="aswift_2_expand" style="display:inline-table;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:728px;background-color:transparent;"><ins id="aswift_2_anchor" style="display:block;border:none;height:90px;margin:0;padding:0;position:relative;visibility:visible;width:728px;background-color:transparent;"><iframe width="728" height="90" frameborder="0" marginwidth="0" marginheight="0" vspace="0" hspace="0" allowtransparency="true" scrolling="no" allowfullscreen="true" onload="var i=this.id,s=window.google_iframe_oncopy,H=s&amp;&amp;s.handlers,h=H&amp;&amp;H[i],w=this.contentWindow,d;try{d=w.document}catch(e){}if(h&amp;&amp;d&amp;&amp;(!d.body||!d.body.firstChild)){if(h.call){setTimeout(h,0)}else if(h.match){try{h=s.upd(h,i)}catch(e){}w.location.replace(h)}}" id="aswift_2" name="aswift_2" style="left:0;position:absolute;top:0;width:728px;height:90px;"></iframe></ins></ins></ins> <div><div class="container-fluid"><!----></div> <div class="container-fluid"><!----></div> <div class="container-fluid"><!----></div> <div class="container-fluid"><!----></div> <div class="container-fluid"><!----></div></div></div></div></div> <footer class="m-0 mt-4 container-fluid row"><div class="col-sm-4"><h5>Calendars</h5> <ul class="pl-2"><li class="list-unstyled"><a href="/calendar/ultramarathon"><span class="icon-fiber_manual_record ultras"></span> Ultramarathon</a></li> <li class="list-unstyled"><a href="/calendar/marathon"><span class="icon-fiber_manual_record marathons"></span> Marathon</a></li> <li class="list-unstyled"><a href="/calendar/21-to-42km"><span class="icon-fiber_manual_record half2full"></span> Half Marathon to Full Marathon</a></li> <li class="list-unstyled"><a href="/calendar/half-marathon"><span class="icon-fiber_manual_record halfmarathons"></span> Half Marathon</a></li> <li class="list-unstyled"><a href="/calendar/10-km-to-half"><span class="icon-fiber_manual_record k102half"></span> 10 km race to Half Marathon</a></li> <li class="list-unstyled"><a href="/calendar/10-km"><span class="icon-fiber_manual_record km10"></span> 10k race</a></li> <li class="list-unstyled"><a href="/calendar/shorter-than-10-km"><span class="icon-fiber_manual_record less10k"></span> Shorter than 10 km race</a></li> <li class="list-unstyled"><a href="/calendar/5-km"><span class="icon-fiber_manual_record km5"></span> 5k race</a></li> <li class="list-unstyled"><a href="/calendar/multiday"><span class="icon-fiber_manual_record multidays"></span> Multiday race</a></li> <li class="list-unstyled"><a href="/calendar/x-hour-race"><span class="icon-fiber_manual_record XH"></span> X-hour race</a></li> <li class="list-unstyled"><a href="/calendar/vertical-race"><span class="icon-fiber_manual_record VR"></span> Vertical race</a></li></ul></div> <div class="col-sm-4"><h5>Ahotu</h5> <ul><li class="list-unstyled social-icons p-0 mb-2"><a href="https://www.facebook.com/ahotumarathons/"><i class="icon-facebook-square mr-1 facebook"></i></a><a href="https://twitter.com/ahotumarathons"><i class="icon-twitter-square twitter"></i></a></li> <li class="list-unstyled"></li> <li class="list-unstyled"><a href="https://www.iubenda.com/privacy-policy/7950677/full-legal">Privacy Policy</a></li> <li class="list-unstyled"><a href="/page/about-us">About us</a></li></ul> <h5>Other languages</h5> <ul><li class="list-unstyled"><a href="https://marathons.ahotu.fr/evenement/rebellion-ultra-marathon">Français</a></li> <li class="list-unstyled"><a href="https://yaristakvimi.com/etkinlik/rebellion-ultra-marathon">Türkçe</a></li></ul></div> <div class="col-sm-4"><h5>Race Directors</h5>
You can rapidly add a new event or edit the pages featured on ahotu&nbsp;Marathons of the races your organize.<br> <a href="/page/organizers">Learn how...</a> <h5 class="mt-2">Runners</h5> <p>If you have run or know a race that isn't yet on ahotu&nbsp;Marathons, please let us know about it by sending us an e-mail at <a href="mailto:contact@ahotu.com">contact@ahotu.com</a>.</p></div> <div class="col-12 mt-4"><p class="text-center">ahotu Marathons - The largest marathon directory on the web - Where will you run your next marathon?<br>©2009-2018 ahotu SAS</p></div></footer> <div><div id="euLaw-alert" role="alert" class="alert alert-success alert-dismissible fade show" style="position: fixed; bottom: 0px; width: 100%; margin-bottom: 0px;">
  We use cookies to personalise content and ads, to provide social media features and to analyse our traffic. We also share information about your use of our site with our social media, advertising and analytics partners who may combine it with other information you’ve provided to them or they’ve collected from your use of their services.
  <a href="https://www.iubenda.com/privacy-policy/7950677/full-legal" class="btn btn-xs">Learn more</a> <button type="button" data-dismiss="alert" aria-label="Close" class="btn btn-success btn-xs float-right"> Close</button></div></div></div>
<script src="/packs/application-62c21636c8cd6e184474.js"></script>

<iframe id="google_osd_static_frame_1777461076819" name="google_osd_static_frame" style="display: none; width: 0px; height: 0px;"></iframe></body><iframe id="google_shimpl" style="display: none;"></iframe></html>
gsnedders commented 6 years ago

BS4 bug, almost certainly.