python爬虫程序的原理是什么?PHP不能写爬虫吗?
不管php还是python都可以写爬虫。
原理:
获取整个网页,然后用正则匹配出自己需要的内容
大概原理就是这样
python比php多了多线程 多进程
现有的python scrapy框架专门为爬虫设计的 据说很厉害。。
http://jinri.info 我自己的网站 python爬的信息
php有curl和simple xml,完全可以做到获取网页之后解析dom树。
但是php不方便做多线程,需要三方扩展,可能会麻烦一些。当然你也可以用单线程,慢一点就是了。
笼统的来说,爬虫就是你向目标服务器发送一个请求,他会给你页面,但是页面不经过浏览器解析,他就是html源码,然后你解析对方服务器发过来的源码,提取你需要的信息,这就是爬虫。
1 回答9.6k 阅读✓ 已解决
2 回答5.2k 阅读✓ 已解决
2 回答3.6k 阅读✓ 已解决
3 回答4.5k 阅读
3 回答1.3k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
爬虫的原理是从一个起始
种子链接
开始,发http请求
这个链接,得到该链接中的内容,然后大多使用正则匹配
出页面里面的有效链接
,然后将这些链接保存到待访问队列中,等待爬取线程
取这个待访队列,一旦链接访问过了,为了有效的减少不必要的网络请求,我们应该把访问过的链接放到一个已访问map
中,已防止重复抓取及死循环。我以上提到的过程可能是一个比较简单的爬虫实现,复杂的可能不会这么简单,但这里面有几个概念,一个是发http请求
,一个是正则匹配
你感兴趣的链接,一个是多线程
,另外还有两个队列
,理论上,任何能实现这么些概念的编程语言去写爬虫都是可以的,期间取舍还是看自己对熟练成都。