Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >爬虫入门篇(上手即用)

爬虫入门篇(上手即用)

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

目录

  • 什么是爬虫
  • 编辑器的选择
  • 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网络爬虫从入门到精通》003-请求模块urllib
在进行网络编程和数据抓取的过程中,如何高效地发送请求和处理响应是每个开发者必须掌握的技能。而在Python中,urllib模块作为标准库的一部分,提供了强大而灵活的功能,让我们能够轻松地与互联网进行交互。
愚公搬代码
2025/07/11
850
爬虫能有多难啊?看完这篇,你还不上手?
网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。
用户10002156
2023/08/07
2750
爬虫能有多难啊?看完这篇,你还不上手?
不骗你,步步案例,教你一文搞定python爬虫
很久以前写了一篇爬虫的文章,把它放在CSDN上(livan1234)没想到点击量竟然暴涨,足以看到大家在数据获取方面的需求,爬虫技术现在已经非常普遍,其用途也非常广泛,很多牛人在各个领域做过相关的尝试,比如:
数据森麟
2019/09/27
5910
不骗你,步步案例,教你一文搞定python爬虫
爬虫 | urllib入门+糗事百科实战
所谓爬虫(crawler),是指一只小虫子,在网络中爬行,见到有用的东西就会把它拿下来,是我们获取信息的一个重要途径。平常使用的浏览器,它的背后就是一个巨大的爬虫框架,输入我们想要查找的信息,帮我们爬取下来。今天就从较为简单的urllib爬虫开始介绍。
小小詹同学
2021/04/19
4030
爬虫 | urllib入门+糗事百科实战
Python爬虫之urllib库—爬虫的第一步
第一个爬虫代码的实现我想应该是从urllib开始吧,博主开始学习的时候就是使用urllib库敲了几行代码就实现了简单的爬数据功能,我想大多伙伴们也都是这么过来的。当时的感觉就是:哇,好厉害,短短几行竟然就可以搞定一个看似很复杂的任务,于是就在想这短短的几行代码到底是怎么实现的呢,如何进行更高级复杂的爬取呢?带着这个问题我也就开始了urllib库的学习。
Python数据科学
2018/08/06
6870
Python爬虫之urllib库—爬虫的第一步
使用 Python 爬取网页数据
urllib 是 Python 內建的 HTTP 库, 使用 urllib 可以只需要很简单的步骤就能高效采集数据; 配合 Beautiful 等 HTML 解析库, 可以编写出用于采集网络数据的大型爬虫;
IMWeb前端团队
2019/12/04
1.7K1
【学习笔记】Python爬虫
URL由协议、主机名、端口、路径、参数、锚点 URLError\HTTPError 后者时前者的子类 用try-except捕获异常
Livinfly
2022/10/26
2.1K0
Python爬虫之urllib库—进阶篇
企鹅号小编
2018/01/08
8180
Python爬虫之urllib库—进阶篇
python爬虫 完整代码
直接复制粘贴就行。 若要更改爬取网站,则需要更改URL以及相应的html格式(代码中的“item”)
全栈程序员站长
2022/09/06
6390
Python爬虫之urllib库—进阶篇
urllib库除了一些基础的用法外,还有很多高级的功能,可以更加灵活的适用在爬虫应用中,比如,用HTTP的POST请求方法向服务器提交数据实现用户登录、当服务器检测出频繁使用同一IP而发出禁令时,如何使用代理IP来应对,如何设置超时,以及解析URL方法上的一些处理,本次将会对这些内容进行详细的分析和讲解。
Python数据科学
2018/08/06
5660
Python爬虫之urllib库—进阶篇
一文带你了解Python爬虫(二)——四种常见基础爬虫方法介绍
–Requests是用python语言基于urllib编写的,采用的是Apache2 Licensed开源协议的HTTP库 –urllib还是非常不方便的,而Requests它会比urllib更加方便,可以节约我们大量的工作。 –requests是python实现的最简单易用的HTTP库,建议爬虫使用requests库。 –默认安装好python之后,是没有安装requests模块的,需要单独通过pip安装
诡途
2020/10/16
1.4K0
请求模块urllib的基本使用
✅作者简介:大家好我是hacker707,大家可以叫我hacker 📃个人主页:hacker707的csdn博客 🔥系列专栏:python爬虫 💬推荐一款模拟面试、刷题神器👉点击跳转进入网站 💖在实现网络爬虫的爬取工作时,就必须使用网络请求,只有进行了网络请求才可以对响应结果中的数据进行提取,urllib模块是python自带的网络请求模块,无需安装,导入即可使用。下面将介绍如果使用python中的urllib模块实现网络请求💖 🥳请求模块urllib的基本使用🥳 urllib的子模块
hacker707
2022/11/27
9780
请求模块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开始吧,博主开始学习的时候就是使用urllib库敲了几行代码就实现了简单的爬数据功能,我想大多伙伴们也都是这么过来的。当时的感觉就是:哇,好厉害,短短几行竟然就可以搞定一个看似很复杂的任务,于是就在想这短短的几行代码到底是怎么实现的呢,如何进行更高级复杂的爬取呢?带着这个问题我也就开始了urllib库的学习。 首先不得不提一下爬取数据的过程,弄清楚这到底是怎样一个过程,学习urllib的时候会更方便理解。 爬虫的过程 其实,爬虫的过程和浏览器浏览网页的过程是一样的
企鹅号小编
2018/01/11
7940
Python爬虫之urllib库—爬虫的第一步
Python3爬虫学习.md
(1) urllib 简单的爬取指定网站 (2) Scrapy 爬虫框架 (3) BeautifulSoup 爬虫解析
全栈工程师修炼指南
2020/10/23
8790
Python3爬虫学习.md
【Python爬虫】Urllib的使用(2)
这是第二篇介绍爬虫基础知识的文章,之前的文章【Python爬虫】初识爬虫(1)主要是让大家了解爬虫和爬虫需要的基础知识,今天主要给大家介绍Urllib的使用。
PM小王
2019/07/02
7100
【Python爬虫】Urllib的使用(2)
002:Python爬虫Urllib库全面分析
Python中有一个功能强大,用于操作URL,并且在爬虫中经常使用的库、就是Urllib库。 (在python2的时候,有Urllib库,也有Urllib2库。Python3以后把Urllib2合并到了Urllib中) 合并后,模块中有很多的位置变动。我在这里先介绍一些常用的改动。 Python2: import urllib2 >>>>>Python3:import urllib.request,urllib.error Python2:import urllib >>>>>Python3:import urllib.request,urllib.error,urllib.parse Python2:import urlparse >>>>>Python3:import urllib.parse Python2:urllib2.urlopen >>>>>Python3:urllib.request.urlopen Python2:urllib.urlencode >>>>>Python3:urllib.request.urlencode Python2:urllib.quote >>>>>Python3:urllib.request.quote Python2:cookielib.CookieJar >>>>>Python3:http.CookieJar Python2:urllib.Request >>>>>Python3:urllib.request.Request 以上是Urllib中常用命令的一些变动。如果之前没有Urllib的基础也没关系,本文后面会详细介绍这些代码的具体应用,以及其实现的各种功能。
李玺
2021/11/22
8150
002:Python爬虫Urllib库全面分析
python3 爬虫之爬取糗事百科
python3中用urllib.request.urlopen()打开糗事百科链接会提示以下错误
py3study
2020/01/03
6430
【爬虫】(一):爬网页、爬图片、自动登录
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。 用于从WWW服务器传输超文本到本地浏览器的传送协议。
一点儿也不潇洒
2018/08/07
8220
相关推荐
【愚公系列】《Python网络爬虫从入门到精通》003-请求模块urllib
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档