Я читал о разборе xml с python весь день, но, глядя на сайт, мне нужно извлечь данные, я не уверен, что я лаю вверх по неправильному дереву. В основном я хочу получить 13-значные штрих-коды с веб-сайта супермаркета (найденного во имя изображений). Например:Разбор xml в python - не понимаю DOM
http://www.tesco.com/groceries/SpecialOffers/SpecialOfferDetail/Default.aspx?promoId=A31033985
имеет 11 пунктов и 11 изображений, штрих-код для первого элемента является 0000003235676. Однако, когда я смотрю на исходный код страницы (я полагаю, что это лучший способ, чтобы извлечь все штрих-коды за один проход с python, urllib и beautifulsoup) все штрих-коды находятся на одной строке (строка 12), однако данные, похоже, не структурированы, как я ожидал бы с точки зрения элементов и атрибутов.
new TESCO.sites.UI.entities.Product({name:"Lb Mens Mattifying Dust 7G",xsiType:"QuantityOnlyProduct",productId:"275303365",baseProductId:"72617958",quantity:1,isPermanentlyUnavailable:true,imageURL:"http://img.tesco.com/Groceries/pi/805/5021320051805/IDShot_90x90.jpg",maxQuantity:99,maxGroupQuantity:0,bulkBuyLimitGroupId:"",increment:1,price:2.5,abbr:"g",unitPrice:3.58,catchWeight:"0",shelfName:"Mens Styling",superdepartment:"Health & Beauty",superdepartmentID:"TO_1448953606"});
new TESCO.sites.UI.entities.Product({name:"Lb Mens Thickening Shampoo 250Ml",xsiType:"QuantityOnlyProduct",productId:"275301223",baseProductId:"72617751",quantity:1,isPermanentlyUnavailable:true,imageURL:"http://img.tesco.com/Groceries/pi/225/5021320051225/IDShot_90x90.jpg",maxQuantity:99,maxGroupQuantity:0,bulkBuyLimitGroupId:"",increment:1,price:2.5,abbr:"ml",unitPrice:1,catchWeight:"0",shelfName:"Mens Shampoo ",superdepartment:"Health & Beauty",superdepartmentID:"TO_1448953606"});
new TESCO.sites.UI.entities.Product({name:"Lb Mens Sculpting Puty 75Ml",xsiType:"QuantityOnlyProduct",productId:"275301557",baseProductId:"72617906",quantity:1,isPermanentlyUnavailable:true,imageURL:"http://img.tesco.com/Groceries/pi/287/5021320051287/IDShot_90x90.jpg",maxQuantity:99,maxGroupQuantity:0,bulkBuyLimitGroupId:"",increment:1,price:2.5,abbr:"ml",unitPrice:3.34,catchWeight:"0",shelfName:"Pastes, Putty, Gums, Pomades",superdepartment:"Health & Beauty",superdepartmentID:"TO_1448953606"});
Возможно, что-то вроде BeautifulSoup является излишним? Я понимаю, что дерево DOM - это не то же самое, что и исходный источник, но почему они настолько разные - когда я перехожу к проверке элемента в firefox, данные кажутся структурированными, как я ожидал бы.
Извинения, если это встречается как совершенно глупо, спасибо заранее.
на упомянутой странице есть элемент с идентификатором 'ч-278680465'. что это за штрих-код? – alko
Здесь нет XML для синтаксического анализа; вы смотрите на источник JavaScript, встроенный в HTML-страницу. – hobbs
Я думаю, вам нужно уточнить, будет ли ваша проблема получать биты javascript, которые вы показываете (что является проблемой синтаксического анализа dom/html), или если вам нужно выяснить, как анализировать данные, которые вы показываете. – Marcin