जब से मैंने पूछा कि रेगेक्स के साथ एचटीएमएल को कैसे पार्स किया जाए और थोड़ा सा (सही तरीके से) मिला, तो मैं HTML::TreeBuilder, HTML::Parser, HTML::TokeParser, और HTML::Elements पर्ल मॉड्यूल का अध्ययन कर रहा हूं।मुझे पर्ल के एचटीएमएल मॉड्यूल का उपयोग करके एक div की सामग्री कैसे मिल सकती है, अगर मुझे इसके अंदर एक टैग पता है?
मैं इस तरह HTML है:
<div id="listSubtitlesFilm">
<dt id="a1">
<a href="/45/subtitles-67624.aspx">
.45 (2006)
</a>
</dt>
</div>
मैं /45/subtitles-67624.asp
पार्स आउट करना चाहते हैं, लेकिन अधिक महत्वपूर्ण मुझे पता है कि div की सामग्री को पार्स आउट करने के लिए कैसे करना चाहते हैं।
मैं एक पिछले प्रश्न पर इस उदाहरण दिया गया था:
while (my $anchor = $parser->get_tag('a')) {
if (my $href = $anchor->get_attr('href')) {
#http://subscene.com/english/Sit-Down-Shut-Up-First-Season/subtitles-272112.aspx
push @dnldLinks, $1 if $href =~ m!/subtitle-(\d{2,8})\.aspx!;
}
यह है कि के लिए पूरी तरह से काम किया है, लेकिन जब मैं इसे थोड़ा संपादित करें और पर इसका इस्तेमाल करने की कोशिश की एक `` div` यह काम नहीं किया ।
मैं इस कोड का उपयोग करने की कोशिश की:: यहाँ कोड मैंने कोशिश की है
while (my $anchor = $p->get_tag("dt")) {
if($stuff = $anchor->get_attr('a1')) {
print $stuff."\n";
}
}
खेद है! इसे अपडेट किया गया! – Codygman
आप वास्तव में किस मॉड्यूल का उपयोग कर रहे हैं? आप अपने प्रश्न में पांच की तरह उल्लेख करते हैं, HTML :: TreeParser जैसी कोई चीज़ नहीं है, और आपका कोड HTML :: TreeBuilder के लिए ऐसा नहीं दिखता है ... – hobbs
मैं एचटीएमएल :: टॉकपार्सर :: सरल का उपयोग कर रहा हूं .. भ्रम के लिए खेद है – Codygman