{"action":"created","issue":{"url":"https://api.github.com/repos/scrapy/scrapely/issues/78","labels_url":"https://api.github.com/repos/scrapy/scrapely/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/scrapy/scrapely/issues/78/comments","events_url":"https://api.github.com/repos/scrapy/scrapely/issues/78/events","html_url":"https://github.com/scrapy/scrapely/pull/78","id":84562240,"number":78,"title":"Change _parse_tag to follow HTML spec for repeated attributes","user":{"login":"ruairif","id":6472969,"avatar_url":"https://avatars.githubusercontent.com/u/6472969?v=3","gravatar_id":"","url":"https://api.github.com/users/ruairif","html_url":"https://github.com/ruairif","followers_url":"https://api.github.com/users/ruairif/followers","following_url":"https://api.github.com/users/ruairif/following{/other_user}","gists_url":"https://api.github.com/users/ruairif/gists{/gist_id}","starred_url":"https://api.github.com/users/ruairif/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ruairif/subscriptions","organizations_url":"https://api.github.com/users/ruairif/orgs","repos_url":"https://api.github.com/users/ruairif/repos","events_url":"https://api.github.com/users/ruairif/events{/privacy}","received_events_url":"https://api.github.com/users/ruairif/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-06-03T13:24:42Z","updated_at":"2015-06-03T15:57:27Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/scrapy/scrapely/pulls/78","html_url":"https://github.com/scrapy/scrapely/pull/78","diff_url":"https://github.com/scrapy/scrapely/pull/78.diff","patch_url":"https://github.com/scrapy/scrapely/pull/78.patch"},"body":"According to the HTML5 spec when parsing a tag with repeated attribute names only the first attribute with that name should be taken and following attributes with that name ignored.\r\n\r\nThis could change spiders that are already in use (as evidenced by having to change one of the test cases to accommodate the change)\r\n\r\nThe relevant part of the spec is [here](http://www.w3.org/TR/html5/syntax.html#attribute-name-state).\r\nThe relevant text is:\r\n\r\n    When the user agent leaves the attribute name state (and before emitting the tag token,\r\n    if appropriate), the complete attribute's name must be compared to the other attributes on\r\n    the same token; if there is already an attribute on the token with the exact same name,\r\n    then this is a parse error and the new attribute must be removed from the token."},"comment":{"url":"https://api.github.com/repos/scrapy/scrapely/issues/comments/108496569","html_url":"https://github.com/scrapy/scrapely/pull/78#issuecomment-108496569","issue_url":"https://api.github.com/repos/scrapy/scrapely/issues/78","id":108496569,"user":{"login":"kmike","id":107893,"avatar_url":"https://avatars.githubusercontent.com/u/107893?v=3","gravatar_id":"","url":"https://api.github.com/users/kmike","html_url":"https://github.com/kmike","followers_url":"https://api.github.com/users/kmike/followers","following_url":"https://api.github.com/users/kmike/following{/other_user}","gists_url":"https://api.github.com/users/kmike/gists{/gist_id}","starred_url":"https://api.github.com/users/kmike/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kmike/subscriptions","organizations_url":"https://api.github.com/users/kmike/orgs","repos_url":"https://api.github.com/users/kmike/repos","events_url":"https://api.github.com/users/kmike/events{/privacy}","received_events_url":"https://api.github.com/users/kmike/received_events","type":"User","site_admin":false},"created_at":"2015-06-03T15:57:27Z","updated_at":"2015-06-03T15:57:27Z","body":"This makes sense.\r\nCould you please check test failures - Travis is red?"}}