为啥都说爬虫PYTHON好
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥都说爬虫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。 参考技术A
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代码,堆服务器做分布式爬虫。
都说Python是无所不能的!手机APP数据就能逃出我爬虫的魔爪吗?
1.1 下载
由于是收费软件,这里给大家一个链接,自行下载,windows版本,如果是其他系统还是去官网吧。https://www.charlesproxy.com
1.4 体验一下Charles
点一下左侧的扫把,清空,开启监听,即左侧第二个按钮。手机打开qq,打开列表一直划,会看到左侧出现了很多请求,遗憾的是只能看到好友的头像,其他内容都加密了。捕捉到信息后点击一下,再点击右边的Contents,可以看下返回的数据,json,jsontext 等等,捕捉到的信息足够我们分析页面就好了。可以自己动手体验一下。
appium的使用
安装好所有的配置环境后。我们打开appium、会看到这个页面。
我们点击右上角第一个像搜索的按钮,创建一个新的Session,会出现:
此时我们需要将我们的Android手机用数据线和电脑连接,并且把手机的use调试功能打开。我们可以输入dos命令,查看手机是否已经连接并开启了usb调试功能。adb devices -l 会看到:
表示手机连接成功,如果没有出现,说明可能手机没有开启usb调试功能。model 表示手机型号.
接下来,我们在新创建的Session中写点配置,实现自动打开微信页面。
点击Save, 再点击Start Session,会看到如下页面。
找到我们的登录按钮,点击一下右侧Tab,即可进入登录页面:
同样的,我们定位到手机号按钮,点击右侧的Send keys, 即可:
点击Send keys 即可同步。如果要生成对应的python代码,可以这样:
点击最上方第三个录制按钮,再点一下Tab,在Recorder选择python即可。
用python操控app
4.1 打开微信
这样即可达到打开微信的操作。
4.2 点击登录输入电话号码
这里需要有selenium的基础和解析库的基础,不知道的可以看下:连接1,连接2
4.3 获取微信按钮的id
其他操作
上一个示例已经完成初始化desired capabilities,定位到元素,点击,文本输入操作操作。
5.1 屏幕滚动操作
scroll(‘被操控元素‘,‘目标元素‘)
5.2 利用坐标滚动
5.3 拖拽操作
drag_and_drop(‘被拖拽元素‘,‘拖拽到的目标元素‘)
好了,本文就分享到这里,如果你跟我一样都喜欢python,想成为一名优秀的程序员,也在学习python的道路上奔跑,欢迎你加入python学习群:839383765 群内每天都会分享最新业内资料,分享python免费课程,共同交流学习,让学习变(编)成(程)一种习惯!
以上是关于为啥都说爬虫PYTHON好的主要内容,如果未能解决你的问题,请参考以下文章