Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实现你想要的功能。编辑器的选择
可以考虑使用Pycharm,专用编辑器会更好用一些。
与其特立独行用最轻便最好用的,倒不如用用户量大的Idle,生态更好,遇到问题会更有的可能找到解决方案。 我想,这可能便是Idle和编程语言的护城河。mac 操作
python 默认对应 python2.7, pip 默认对应 pip2, python2 对应 pip2 python3 对应 pip3,不想用系统默认的python和pip,则需要使用 python3 和 pip3.
但是出现错误
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
输入以下指令,从而将相应的文件夹的权限打开
sudo mkdir /usr/local/Frameworks sudo chown $(whoami):admin /usr/local/Frameworks
一段可获得html网页的朴素的爬虫代码
import urllib.request response = urllib.request.urlopen('http://python.org/') result = response.read().decode('utf-8') print(result)
若有些网址设有反爬机制,请求若没有headers就会报错。
可以通过chrome浏览器的F12-network查看request的headers,将该网页的headers信息复制下来使用。
一段加入headers的获取网页爬虫代码
import urllib.request headers = {'User_Agent': ''} response = urllib.request.Request('http://python.org/', headers=headers) html = urllib.request.urlopen(response) result = html.read().decode('utf-8') print(result)
反馈异常错误非常关键,避免在爬取的过程中被打断而终止。
一段加入try...exception结构的网页爬虫网页
import urllib.requestimport urllib.error try: headers = {} response = urllib.request.Request('http://python.org/', headers=headers)
html = urllib.request.urlopen(response) result = html.read().decode('utf-8')except urllib.error.URLError as e: if hasattr(e, 'reason'): print('错误原因是' + str(e.reason)) except urllib.error.HTTPError as e: if hasattr(e, 'code'): print('错误状态码是' + str(e.code)) else: print('请求成功通过。')
不需要重复造轮子,有需要爬的网站,然后拿别人的代码爬即可。
GitHub - shuizhubocai/crawler: requests+lxml爬虫,简单爬虫架构
推荐|23个Python爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等 - 七月在线
Get Started Tutorial for Python in Visual Studio Code
感谢你的阅读,希望你能够从中收获到一点点。如果你有一些经验和感悟,欢迎和我交流,很高兴与你交朋友。qq:1175720614。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。