“php是世界上最好的语言”
“人生苦短,我用python”
现在到处都能搜索到各种语言对喷的,啥静态语言喷脚本语言,还出了各种鄙视链,其实我个人是觉得真心是没必要,只要是在合适的时候使用合适的语言不就完了,我也在写php,也在写java和python,只是不同的场景下使用适合的形式解决问题就好了。
我实在是不理解,我用php写了个抓取页面服务以后,有人过来劝我说python会实现更好不用正则,吧啦吧啦吧啦的,但是这个功能就是写在一个小的单模块应用程序里,本来就是帮朋友做的小的站,你这个里面有python有php,后面交给别人的时候这······,本着这样的考虑,何必把问题上升到“技术栈是否完善”,“你到底懂不懂”这之类的,强行抬杠!?真不太懂。
我写了个简单的抓取网页然后匹配内容的,直接用python和php两种实现同样的功能,需要说明的是其实php也能用XPath
# php 版本 demo
<?php
$url = 'http://www.court.gov.cn/fabu-gengduo-16';
$result = [];
$doc = new \DOMDocument();
foreach (range(1, 1) as $page) {
$html = file_get_contents($url . '?page=' . $page);
@$doc->loadHTML($html);
$doc->normalize();
$xpath = new \DOMXpath($doc);
$elements = $xpath->query('//*[@id="container"]/div/ul/li');
for($i = 0; $i < $elements->length; $i++) {
$result[] = [
'title' => $elements->item($i)->getElementsByTagName('a')->item(0)->getAttribute('title'),
'href' => $elements->item($i)->getElementsByTagName('a')->item(0)->getAttribute('href'),
'date' => $elements->item($i)->getElementsByTagName('i')->item(0)->nodeValue,
];
}
}
var_dump($result);
# python 版本 demo
import urllib3
from lxml import etree
url = 'http://www.court.gov.cn/fabu-gengduo-16'
http = urllib3.PoolManager()
result = []
for page in range(1, 2, 1):
r = http.request('GET', url, fields={
'page': page
})
html = etree.HTML(r.data.decode())
html_data = html.xpath('//*[@id="container"]/div/ul/li')
for elements in html_data:
result.append({
'date': elements.xpath('.//i/text()')[0],
'title': elements.xpath('.//a/@title')[0],
'href': elements.xpath('.//a/@href')[0],
})
print(result)
emmm,可能php看起来多了点代码,这还是在没有用curl的情况,但是实话实说,你为了这一点代码,强行增假了项目维护难度以及学习成本,这值?这是极客思维?我有个问题想要问你,“我俏丽吗?”
无意喷语言的孰优孰劣,只想吐槽下,面对现实情景吧,语言的无脑粉。
网友评论