选择Python作为实现爬虫的语言,其主要考虑因素在于:(1) 抓取网页本身的接口 相比其他动态脚本语言(如Perl、Shell),Python的urllib2包提供了较为完整的访问网页文档的API;相比与其他静态编程语言(如Java、C#、C++),Python抓取网页文档的接口更简洁。此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于...
为什么都说爬虫PYTHON好
选择Python作为实现爬虫的语言,其主要考虑因素在于:
(1) 抓取网页本身的接口
相比其他动态脚本语言(如Perl、Shell),Python的urllib2包提供了较为完整的访问网页文档的API;相比与其他静态编程语言(如Java、C#、C++),Python抓取网页文档的接口更简洁。
此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的。这时我们需要模拟User Agent的行为构造合适的请求,譬如模拟用户登录、模拟Session/Cookie的存储和设置。在Python里都有非常优秀的第三方包帮你搞定,如Requests或Mechanize。
(2) 网页抓取后的处理
抓取的网页通常需要处理,比如过滤Html标签,提取文本等。Python的Beautiful Soup提供了简洁的文档处理功能,能用极短的代码完成大部分文档的处理。
其实以上功能很多语言和工具都能做,但是用Python能够干得最快、最干净,正如这句“Life is short,you need Python”。
(3) 开发效率高
因为爬虫的具体代码根据网站不同而修改的,而Python这种灵活的脚本语言特别适合这种任务。
(4) 上手快
网络上Python的教学资源很多,便于大家学习,出现问题也很容易找到相关资料。另外,Python还有强大的成熟爬虫框架的支持,比如Scrapy。2022-09-21
python上手容易,第三方库多(go现在第三方库也多)。
如果不考虑采集速度,不用登陆——requests,单线程,简单的代码如下:
url = "
http://dd.com"
html = requests.get(url)
html.encoding=('GBK') #避免编码问题 如有报错,另外测试
print (html.text[:1000]) #输出1000个字符,避免ide假死。
本人没学过java c#,不清楚他们两个一个简单爬虫的代码量,想来最起码比python的要多。
不过说实话python的工作机会没有 java c#的多,也就是说别想着花钱去培训班培训了几个月,就能找到月入过万的工作。
python的运行效率比其他编程语言要差,不考虑效率的情况下,可以用python写写小代码,有钱的可以写scrapy代码,堆服务器做分布式爬虫。
2020-07-15