首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >爬虫入门篇(上手即用)

爬虫入门篇(上手即用)

作者头像
星辉
发布于 2019-04-07 06:36:04
发布于 2019-04-07 06:36:04
9050
举报

目录

  • 什么是爬虫
  • 编辑器的选择
  • mac 操作
  • 简单爬虫代码
  • 一些轮子
  • 总结
  • 学习的链接
  • 尾声

什么是爬虫

爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

为什么是python? Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实现你想要的功能。

编辑器的选择

可以考虑使用Pycharm,专用编辑器会更好用一些。

与其特立独行用最轻便最好用的,倒不如用用户量大的Idle,生态更好,遇到问题会更有的可能找到解决方案。 我想,这可能便是Idle和编程语言的护城河。

mac 操作

  • python 版本号查询 直接在 terminal 键入 python( 此为 python2 ) 直接在 terminal 键入 python3( 此为 python3 )

注意事项 python 默认对应 python2.7, pip 默认对应 pip2, python2 对应 pip2 python3 对应 pip3,不想用系统默认的python和pip,则需要使用 python3 和 pip3.

  • 安装 python3 mac 本身带有 python2.7,需要自行安装python3

brew install python3

  • 链接 python3 安装但没有链接到 python3,此时需要链接python3

brew link python

但是出现错误

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爬虫开源项目代码:爬取微信、淘宝、豆瓣、知乎、微博等 - 七月在线

总结

  • 试着一站式解决问题 看博客文章的时候,遇到一些问题,先不要着急去其他的地方查,先看看这篇文章里面有没有提到这种错误和问题。作者因为经历过一遍,更有可能把问题和总结写在文章里面。
  • 有的程序对插件版本有一定的要求 python的代码有可能对相应的插件的版本有要求,有可能这个便是程序难以使用的原因。

学习的链接

Python爬虫学习之(一)| 从零开始 - Python数据科学 - SegmentFault 思否

Get Started Tutorial for Python in Visual Studio Code

尾声

感谢你的阅读,希望你能够从中收获到一点点。如果你有一些经验和感悟,欢迎和我交流,很高兴与你交朋友。qq:1175720614。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年03月20日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Python爬虫之urllib库—爬虫的第一步
第一个爬虫代码的实现我想应该是从urllib开始吧,博主开始学习的时候就是使用urllib库敲了几行代码就实现了简单的爬数据功能,我想大多伙伴们也都是这么过来的。当时的感觉就是:哇,好厉害,短短几行竟然就可以搞定一个看似很复杂的任务,于是就在想这短短的几行代码到底是怎么实现的呢,如何进行更高级复杂的爬取呢?带着这个问题我也就开始了urllib库的学习。
Python数据科学
2018/08/06
6750
Python爬虫之urllib库—爬虫的第一步
Python爬虫之urllib库—进阶篇
urllib库除了一些基础的用法外,还有很多高级的功能,可以更加灵活的适用在爬虫应用中,比如,用HTTP的POST请求方法向服务器提交数据实现用户登录、当服务器检测出频繁使用同一IP而发出禁令时,如何使用代理IP来应对,如何设置超时,以及解析URL方法上的一些处理,本次将会对这些内容进行详细的分析和讲解。
Python数据科学
2018/08/06
5560
Python爬虫之urllib库—进阶篇
Python爬虫基础
Python非常适合用来开发网页爬虫,理由如下: 1、抓取网页本身的接口 相比与其他静态编程语言,如java,c#,c++,python抓取网页文档的接口更简洁;相比其他动态脚本语言,如perl,shell,python的urllib包提供了较为完整的访问网页文档的API。(当然ruby也是很好的选择) 此外,抓取网页有时候需要模拟浏览器的行为,很多网站对于生硬的爬虫抓取都是封杀的。这是我们需要模拟user agent的行为构造合适的请求,譬如模拟用户登陆、模拟session/cookie的存储和设置。在python里都有非常优秀的第三方包帮你搞定,如Requests,mechanize
用户7678152
2020/08/26
1K0
Python——网络爬虫
此篇文章继续跟着小甲鱼的视频来初学网络爬虫,除了小甲鱼的网站上可下载视频,发现b站上也有全套的视频哦,会比下载来的更方便些。 网络爬虫,又称为网页蜘蛛(WebSpider),非常形象的一个名字。如果你
闪电gogogo
2018/01/08
1.6K0
Python——网络爬虫
Python 爬虫库 urllib 使用详解,真的是总结的太到位了!!
urllib.request定义了一些打开URL的函数和类,包含授权验证、重定向、浏览器cookies等。
用户6888863
2023/03/01
2.1K0
Python 爬虫库 urllib 使用详解,真的是总结的太到位了!!
爬虫能有多难啊?看完这篇,你还不上手?
网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。
用户10002156
2023/08/07
2650
爬虫能有多难啊?看完这篇,你还不上手?
不骗你,步步案例,教你一文搞定python爬虫
很久以前写了一篇爬虫的文章,把它放在CSDN上(livan1234)没想到点击量竟然暴涨,足以看到大家在数据获取方面的需求,爬虫技术现在已经非常普遍,其用途也非常广泛,很多牛人在各个领域做过相关的尝试,比如:
数据森麟
2019/09/27
5770
不骗你,步步案例,教你一文搞定python爬虫
爬虫 | urllib入门+糗事百科实战
所谓爬虫(crawler),是指一只小虫子,在网络中爬行,见到有用的东西就会把它拿下来,是我们获取信息的一个重要途径。平常使用的浏览器,它的背后就是一个巨大的爬虫框架,输入我们想要查找的信息,帮我们爬取下来。今天就从较为简单的urllib爬虫开始介绍。
小小詹同学
2021/04/19
3960
爬虫 | urllib入门+糗事百科实战
python爬虫从入门到放弃(三)之 Urllib库的基本使用
 官方文档地址:https://docs.python.org/3/library/urllib.html 什么是Urllib Urllib是python内置的HTTP请求库 包括以下模块 urlli
coders
2018/01/04
1.7K0
python爬虫从入门到放弃(三)之 Urllib库的基本使用
使用 Python 爬取网页数据
urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 HTML 解析库, 可以编写出用于采集网络数据的大型爬虫;
IMWeb前端团队
2019/12/04
1.7K1
Python爬虫之urllib库—进阶篇
企鹅号小编
2018/01/08
8050
Python爬虫之urllib库—进阶篇
Python网络爬虫(实践篇)
读取内容常见的3种方式,其用法是: file.read()读取文件的全部内容,并把读取到的内容赋给一个字符串变量 file.readlines()读取文件的全部内容,并把读取到的内容赋给一个列表变量 file.readline()读取文件的一行内容
Python研究者
2020/09/28
7790
请求模块urllib的基本使用
✅作者简介:大家好我是hacker707,大家可以叫我hacker 📃个人主页:hacker707的csdn博客 🔥系列专栏:python爬虫 💬推荐一款模拟面试、刷题神器👉点击跳转进入网站 💖在实现网络爬虫的爬取工作时,就必须使用网络请求,只有进行了网络请求才可以对响应结果中的数据进行提取,urllib模块是python自带的网络请求模块,无需安装,导入即可使用。下面将介绍如果使用python中的urllib模块实现网络请求💖 🥳请求模块urllib的基本使用🥳 urllib的子模块
hacker707
2022/11/27
9580
请求模块urllib的基本使用
【Python爬虫】Urllib的使用(2)
这是第二篇介绍爬虫基础知识的文章,之前的文章【Python爬虫】初识爬虫(1)主要是让大家了解爬虫和爬虫需要的基础知识,今天主要给大家介绍Urllib的使用。
PM小王
2019/07/02
6920
【Python爬虫】Urllib的使用(2)
Python库之urllib
['AbstractBasicAuthHandler', 'AbstractDigestAuthHandler', 'AbstractHTTPHandler', 'BaseHandler', 'CacheFTPHandler', 'ContentTooShortError', 'DataHandler', 'FTPHandler', 'FancyURLopener', 'FileHandler', 'HTTPBasicAuthHandler', 'HTTPCookieProcessor', 'HTTPDefaultErrorHandler', 'HTTPDigestAuthHandler', 'HTTP Error', 'HTTPErrorProcessor', 'HTTPHandler', 'HTTPPasswordMgr', 'HTTPPasswordMgrWithDefaultRealm', 'HTTPPasswordMgrWithPriorAuth', 'HTTPRedirectHandler', 'HTTPSHandler', 'MAXFTPCACHE', 'OpenerDirector', 'ProxyBasicAuthHandler', 'ProxyDigestAuthHandler', 'ProxyHandler', 'Request', 'URLError', 'URLopener',  'UnknownHandler', '__all__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '__version__', '_cut_port_re', '_ftperrors', '_have_ssl', '_localhost', '_noheaders', '_opener', '_parse_proxy', '_proxy_bypass_macosx_sysconf', '_randombytes', '_safe_g ethostbyname', '_thishost', '_url_tempfiles', 'addclosehook', 'addinfourl', 'base64', 'bisect', 'build_opener', 'collections', 'contextlib', 'email', 'ftpcache', 'ftperrors', 'ftpwrapper', 'getproxies', 'getproxies_environment', 'getproxies_registry', 'hashlib', 'http', 'install_opener', 'io', 'localhost ', 'noheaders', 'os', 'parse_http_list', 'parse_keqv_list', 'pathname2url', 'posixpath', 'proxy_bypass', 'proxy_bypass_environment', 'proxy_bypass_registry', 'quote', 're', 'request_host', 'socket', 'splitattr', 'splithost', 'splitpasswd', 'splitport', 'splitquery', 'splittag', 'splittype', 'splituser', 'splitvalue', 'ssl', 'string', 'sys', 'tempfile', 'thishost', 'time', 'to_bytes', 'unquote', 'unquote_to_bytes', 'unwrap', 'url2pathname', 'urlcleanup', 'urljoin', 'urlopen', 'urlparse', 'urlretrieve', 'urlsplit', 'urlunparse', 'warnings']
菲宇
2022/12/21
6190
Python库之urllib
Python爬虫技术系列-01请求响应获取-urllib库
参考连接: https://zhuanlan.zhihu.com/p/412408291
IT从业者张某某
2023/10/16
3950
Python爬虫技术系列-01请求响应获取-urllib库
Python爬虫之urllib库—爬虫的第一步
第一个爬虫代码的实现我想应该是从urllib开始吧,博主开始学习的时候就是使用urllib库敲了几行代码就实现了简单的爬数据功能,我想大多伙伴们也都是这么过来的。当时的感觉就是:哇,好厉害,短短几行竟然就可以搞定一个看似很复杂的任务,于是就在想这短短的几行代码到底是怎么实现的呢,如何进行更高级复杂的爬取呢?带着这个问题我也就开始了urllib库的学习。 首先不得不提一下爬取数据的过程,弄清楚这到底是怎样一个过程,学习urllib的时候会更方便理解。 爬虫的过程 其实,爬虫的过程和浏览器浏览网页的过程是一样的
企鹅号小编
2018/01/11
7760
Python爬虫之urllib库—爬虫的第一步
【学习笔记】Python爬虫
URL由协议、主机名、端口、路径、参数、锚点 URLError\HTTPError 后者时前者的子类 用try-except捕获异常
Livinfly
2022/10/26
2.1K0
【爬虫】(一):爬网页、爬图片、自动登录
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。 用于从WWW服务器传输超文本到本地浏览器的传送协议。
一点儿也不潇洒
2018/08/07
8060
python中的urllib模块中的方法
urllib.request模块定义了一些打开URLs(一般是HTTP协议)复杂操作像是basic 和摘要模式认证,重定向,cookies等的方法和类。这个模块式模拟文件模块实现的,将本地的文件路径改为远程的url。因此函数返回的是类文件对象(file-like object)
py3study
2020/01/09
2.4K0
相关推荐
Python爬虫之urllib库—爬虫的第一步
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档