我正在尝试从网页上抓取数据,但我需要在this link中获取所有数据。
include 'simple_html_dom.php';
$html1 = file_get_html('http://www.aktive-buergerschaft.de/buergerstiftungen/unsere_leistungen/buergerstiftungsfinder');
$info1 = $html1->find('b[class=[what to enter herer ]',0);
我需要从this site获取所有数据。
Bürgerstiftung Lebensraum Aachen
rechtsfähige Stiftung des bürgerlichen Rechts
Ansprechpartner: Hubert Schramm
Alexanderstr. 69/ 71
52062 Aachen
Telefon: 0241 - 4500130
Telefax: 0241 - 4500131
Email: info@buergerstiftung-aachen.de
www.buergerstiftung-aachen.de
>> Weitere Details zu dieser Stiftung
Bürgerstiftung Achim
rechtsfähige Stiftung des bürgerlichen Rechts
Ansprechpartner: Helga Kühn
Rotkehlchenstr. 72
28832 Achim
Telefon: 04202-84981
Telefax: 04202-955210
Email: info@buergerstiftung-achim.de
www.buergerstiftung-achim.de
>> Weitere Details zu dieser Stiftung
我需要拥有链接“后面”的数据 - 有没有办法用简单易懂的解析器来实现这一点 - 一个可以被新手理解和编写的解析器!?
答案 0 :(得分:7)
您提供的链接已关闭, 我建议你使用本机PHP“DOM”扩展而不是“简单的html解析器”,它会更快更容易;) 我使用googlecache看了一下页面,你可以使用类似的东西: -
$doc = new DOMDocument;
@$doc->loadHTMLFile('...URL....'); // Using the @ operator to hide parse errors
$contents = $doc->getElementById('content')->nodeValue; // Text contents of #content
答案 1 :(得分:2)
似乎要写在documentation:
中$html1->find('b[class=info]',0)->innertext;
答案 2 :(得分:2)
从我可以快速浏览的内容中,您需要遍历< dl> #content中的标签,然后是dt和dd。
foreach ($html->find('#content dl') as $item) {
$info = $item->find('dd');
foreach ($info as $info_item) {..}
}
使用simple_html_dom库
答案 3 :(得分:1)
XPath使得删除非常简单,并允许HTML文档中的某些更改不会影响您。例如,要提取名称,您将使用如下所示的查询:
//div[id='content']/d1/dt
一个简单的Google search将为您提供大量的教程
答案 4 :(得分:1)
@zero:有一个很好的网站可以尝试使用php和python来删除一个网站...对我来说非常有用的网站: - http://scraperwiki.com/
答案 5 :(得分:-1)
我使用WWW:Mechanize
http://search.cpan.org/dist/WWW-Mechanize/lib/WWW/Mechanize.pm