我正在尝试将以下HTML列表放入更有用的格式中,我想知道是否有人可以推荐最佳实践来解决此问题。我意识到我可能需要在“>”处拆分每个类别的字符串(“>”之后的所有内容都是子类别),但根据HTML的结构方式递归解析它似乎很棘手。任何帮助赞赏。
我想要一个类似于...的数组
[
{
id: 1,
name: "Antiques",
subcount: 0,
subcategory: [
id: ?,
name: "Some Subcategory",
subcount: 1,
subcategory: [
id: ?,
name: "Some Sub Subcategory",
subcount: 1,
]
]
},
...
]
以下是我要解析的数据示例。
<select id="catid" name="catid">
<option selected="" value="0">All Categories</option>
<option value="1">Antiques</option>
<option value="15">Art</option>
<option value="70">Art > Drawings</option>
<option value="336">Bath & Body</option>
<option value="339">Bath & Body > Beauty Products</option>
<option value="2">Books/Movies/Music</option>
<option value="99">Books/Movies/Music > Books</option>
<option value="132">Books/Movies/Music > Books > Antique/Collectible</option>
<option value="244">Books/Movies/Music > Books > Fiction > Action</option>
<option value="126">Books/Movies/Music > Books > Non-Fiction</option>
<option value="278">Books/Movies/Music > Books > Non-Fiction > Architecture & Design</option>
<option value="257">Books/Movies/Music > Books > Non-Fiction > Art & Photography</option>
<option value="256">Books/Movies/Music > Books > Reference</option>
<option value="75">Books/Movies/Music > Movies</option>
<option value="241">Books/Movies/Music > Movies > Blu-ray Disc</option>
<option value="76">Books/Movies/Music > Movies > DVDs</option>
<option value="79">Books/Movies/Music > Music</option>
<option value="81">Books/Movies/Music > Music > Cassette Tapes</option>
<option value="80">Books/Movies/Music > Music > CDs</option>
<option value="170">Cameras & Camcorders</option>
<option value="173">Cameras & Camcorders > Camcorders</option>
<option value="171">Cameras & Camcorders > Digital Cameras</option>
<option value="172">Cameras & Camcorders > Film Cameras</option>
<option value="10">Clothing</option>
<option value="453">Clothing > Baby</option>
<option value="29">Clothing > Children's Clothing</option>
<option value="166">Clothing > Children's Clothing > Accessories</option>
<option value="346">Clothing > Children's Clothing > Athletic Apparel</option>
<option value="160">Clothing > Children's Clothing > Dresses</option>
<option value="169">Clothing > Eyewear</option>
<option value="28">Clothing > Men's Clothing</option>
<option value="165">Clothing > Men's Clothing > Accessories</option>
<option value="347">Clothing > Men's Clothing > Athletic Apparel</option>
<option value="27">Clothing > Women's Clothing</option>
<option value="164">Clothing > Women's Clothing > Accessories</option>
<option value="348">Clothing > Women's Clothing > Athletic Apparel</option>
<option value="4">Collectibles</option>
<option value="367">Collectibles > Action Figures, Maquettes & Mini Busts</option>
<option value="434">Collectibles > Advertising</option>
<option value="386">Collectibles > Bells</option>
<option value="36">Collectibles > Clocks</option>
<option value="419">Collectibles > Coca-Cola Memorabilia</option>
<option value="378">Collectibles > Coin Banks</option>
<option value="422">Collectibles > Hollywood Memorabilia > Disney</option>
<option value="421">Collectibles > Music Memorabilia > Beatles</option>
<option value="35">Collectibles > Plush Toys</option>
<option value="43">Collectibles > Post Cards/Photographs/Stationery</option>
<option value="326">Collectibles > Salt & Pepper Shakers</option>
<option value="343">Collectibles > Spoons</option>
<option value="390">Collectibles > Sports</option>
<option value="409">Collectibles > Sports > Baseball</option>
<option value="413">Collectibles > Sports > NASCAR</option>
<option value="44">Collectibles > Sports Cards/Trading Cards</option>
<option value="230">Collectibles > Stamps</option>
<option value="232">Collectibles > Trains</option>
<option value="7">Computers & Electronics</option>
<option value="366">Computers & Electronics > Car Audio</option>
<option value="30">Computers & Electronics > Computers</option>
<option value="179">Computers & Electronics > Computers > Accessories</option>
<option value="372">Computers & Electronics > Computers > Accessories > Apple</option>
<option value="452">Computers & Electronics > Computers > Laptops > Parts & Repair</option>
<option value="451">Computers & Electronics > Computers > Laptops > Refurbished</option>
<option value="350">Computers & Electronics > Computers > Networking</option>
<option value="380">Computers & Electronics > Home & Business Phones</option>
<option value="32">Computers & Electronics > Home Electronics</option>
<option value="33">Computers & Electronics > Home Electronics > Gaming Systems & Games</option>
<option value="305">Computers & Electronics > Home Electronics > Gaming Systems & Games > Atari 2600</option>
<option value="306">Computers & Electronics > Home Electronics > Gaming Systems & Games > Atari 5200</option>
<option value="182">Computers & Electronics > Home Electronics > Home Audio/Theater</option>
<option value="403">Computers & Electronics > Home Electronics > Home Audio/Theater > CD Players</option>
<option value="404">Computers & Electronics > Home Electronics > Home Audio/Theater > MiniDisc Players</option>
<option value="180">Computers & Electronics > Home Electronics > TVs</option>
<option value="181">Computers & Electronics > Home Electronics > VCRs/DVDs/DVRs/Blu-ray</option>
<option value="183">Computers & Electronics > Personal Electronics</option>
<option value="185">Computers & Electronics > Personal Electronics > Cell Phones & Accessories</option>
<option value="373">Computers & Electronics > Personal Electronics > Cell Phones & Accessories > Android</option>
<option value="426">Computers & Electronics > Personal Electronics > Digital Photo Frames</option>
<option value="351">Computers & Electronics > Personal Electronics > eBook Readers</option>
<option value="118">Computers & Electronics > Personal Electronics > MP3/CD Players & Accessories</option>
<option value="377">Computers & Electronics > Personal Electronics > MP3/CD Players & Accessories > iPod</option>
<option value="186">Computers & Electronics > Personal Electronics > PDAs</option>
<option value="417">Computers & Electronics > Personal Electronics > Radios</option>
<option value="431">Computers & Electronics > Vintage Electronics</option>
<option value="8">Crafts & Hobbies</option>
<option value="418">Crafts & Hobbies > Models & Model Kits</option>
<option value="446">Crafts & Hobbies > Scouting & Youth Groups</option>
<option value="415">Crafts & Hobbies > Sewing Machines</option>
<option value="195">For The Home</option>
<option value="196">For The Home > Appliances</option>
<option value="197">For The Home > Home Decor</option>
<option value="202">For The Home > Home Decor > Linens/Fabric/Textiles</option>
<option value="441">For The Home > Home Decor > Linens/Fabric/Textiles > Quilts</option>
<option value="203">For The Home > Home Decor > Pottery</option>
<option value="204">For The Home > Home Decor > Silver & Brass</option>
<option value="240">For The Home > Outdoor/Garden</option>
<option value="14">Glass</option>
<option value="331">Glass > Art Glass</option>
<option value="332">Glass > Carnival Glass</option>
<option value="335">Glass > Vintage Glass</option>
<option value="6">Jewelry & Gemstones</option>
<option value="84">Jewelry & Gemstones > Bracelets</option>
<option value="100">Jewelry & Gemstones > Brooches/Pins</option>
<option value="101">Jewelry & Gemstones > Men's Accessories</option>
<option value="438">Jewelry & Gemstones > Men's Accessories > Belt Buckles</option>
<option value="86">Jewelry & Gemstones > Necklaces</option>
<option value="87">Jewelry & Gemstones > Pendants</option>
<option value="353">Jewelry & Gemstones > Precious Metal Scrap</option>
<option value="88">Jewelry & Gemstones > Rings</option>
<option value="89">Jewelry & Gemstones > Watches</option>
<option value="342">Jewelry & Gemstones > Watches > Children's Watches</option>
<option value="113">Miscellaneous</option>
<option value="447">Miscellaneous > Binoculars & Optics</option>
<option value="119">Miscellaneous > Magazines</option>
<option value="379">Miscellaneous > Pocket Knives</option>
<option value="13">Musical Instruments</option>
<option value="192">Musical Instruments > Accessories</option>
<option value="190">Musical Instruments > Brass</option>
<option value="215">Office Supplies</option>
<option value="424">Office Supplies > Typewriters</option>
<option value="34">Pets</option>
<option value="115">Religious Items</option>
<option value="364">Science & Education</option>
<option value="18">Seasonal & Holiday</option>
<option value="12">Sports</option>
<option value="112">Sports > Sporting Equipment</option>
<option value="281">Sports > Sporting Equipment > Baseball</option>
<option value="392">Sports > Sporting Equipment > Camping & Hiking</option>
<option value="20">Tableware and Kitchenware</option>
<option value="47">Tableware and Kitchenware > Barware</option>
<option value="68">Tableware and Kitchenware > Dinnerware</option>
<option value="51">Tableware and Kitchenware > Dinnerware > Bowls</option>
<option value="61">Tableware and Kitchenware > Glassware</option>
<option value="62">Tableware and Kitchenware > Ovenware</option>
<option value="63">Tableware and Kitchenware > Serving Pieces</option>
<option value="384">Tableware and Kitchenware > Serving Pieces > Holloware</option>
<option value="383">Tableware and Kitchenware > Serving Pieces > Trays</option>
<option value="67">Tableware and Kitchenware > Tools & Gadgets</option>
<option value="114">Tools</option>
<option value="9">Toys/Dolls/Games</option>
<option value="109">Toys/Dolls/Games > Dolls</option>
<option value="398">Toys/Dolls/Games > Dolls > Antique</option>
<option value="396">Toys/Dolls/Games > Dolls > Vintage</option>
<option value="226">Toys/Dolls/Games > Educational</option>
<option value="439">Toys/Dolls/Games > Educational > Educational Electronic Games</option>
<option value="440">Toys/Dolls/Games > Educational > Educational Video Games</option>
<option value="23">Transportation</option>
<option value="427">Travel/Luggage</option>
<option value="429">Travel/Luggage > Backpacks</option>
答案 0 :(得分:0)
我不确定你的用例是什么,但从你的问题我会假设一个节点html解析器(如htmlparser2)或html到json转换器(如html-to-json)会做特技。希望有所帮助!