爬虫其实就是请求http、解析网页、存储数据的过程,并非高深的技术,但凡是编程语言都能做,连Excel VBA都可以实现爬虫,但Python爬虫的使用频率最高、场景最广。
这可不仅仅是因为Python有众多爬虫和数据处理库,还有一个更直接的原因是Python足够简单。
Python作为解释型语言,不需要编译就可以运行,而且采用动态类型,灵活赋值,同样的功能实现,代码量比Java、C++少很多。
而且Python既可以面向对象也可以面向过程编程,这样就简化了爬虫脚本编写的难度,即使新手也可以快速入门
比如一个简单网页请求和解析任务,Python只需要7行代码,Java则需要20行。
python实现:
requests.get用于请求http服务,soup.find_all用于解析html
import requests
from bs4 import BeautifulSoup
url = "https://example.com"
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
links = [a['href'] for a in soup.find_all('a', href=True)]
print(links)
Java实现:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elem