2,简单的Python爬虫
前言
根据上一篇 1,Python爬虫环境的安装我们已经在本地安装好了Python环境,那么这一篇就开始学习如何用Python来爬虫!
环境:操作系统:Windows10
IDE: PyCharm2018.1
解释器:python3.6
1,只需短短4行
或许Python爬虫给大家的感觉就是比较高级,比较牛逼的一项技术,而其实呢,它的核心代码就只有以下几行!(至少对于初学者来说,只需要知道它如何使用)
import requests # 导入requests模块。如果报错,就是没有安装该模块;安装:鼠标点击红色部分->【ALT+回车】->回车。或在命令行使用pip install requests安装。 url = "http://www.baidu.com" # 要爬取网站的网址,一定要加http://
page = requests.get(url) # 模拟请求(与浏览器原理相同)
print(page.text) # 输出网站的源码(HTML代码)
2,对比
一开始大家(包括我自己)接触比较多的可能是urllib和urllib3;python2用的是urllib和urllib2,在python3中已经没有urllib2了,所以在看教程的时候一定要看清是python2还是python3。
其实用哪个库都没有太大关系,因为他们其实都是在底层实现了HTTP协议,然后自己再把接口封装以下,理解了原理其实都是差不多的;但是推荐大家使用requests库(我看很多大牛都推荐这个),他是个第三方库(不是python自家的),所以需要安装,代码中给出了安装方法。这个库给我的感觉就是使用起来更加简单,可读性很好,比较符合Python的风格,大牛们推荐他可能还有其他原因,有待学习!
3,解析
所谓爬虫,其实也就是在互联网这张大网中筛选我们需要的信息。上面的代码只是把整个页面的内容下载下来了,并没有什么实际作用。而我们实际需要的是其中的一些图片或者某些文字,那就需要对这些下载下来的内容进行解析了,最简单粗暴的方法是使用正则(re)表达式来匹配(这是必备的,网上有很多学习教程);而更好的方法是先使用xpath(一种解析html文档的语法)获取想要的内容,然后再用re处理获取的内容,使内容更符合我们需要。
4,要学什么
上面是让大家更好地理解爬虫,和基本步骤;下面就是初学需要学些什么东西:
爬虫三部曲:
1,下载页面:使用requests下载网站页面;学习requests模块的基本使用。
2,解析页面:在下载下来的页面中获取想要的信息;学习lxml模块,re模块,xpath语法和re语法的基本使用。
3,保存信息:把解析后的信息保存到本地(先学会保存到Excel表);学习xlwt模块。
2,简单的Python爬虫的更多相关文章
- 一个简单的python爬虫程序
python|网络爬虫 概述 这是一个简单的python爬虫程序,仅用作技术学习与交流,主要是通过一个简单的实际案例来对网络爬虫有个基础的认识. 什么是网络爬虫 简单的讲,网络爬虫就是模拟人访问web ...
- 一个简单的python爬虫,爬取知乎
一个简单的python爬虫,爬取知乎 主要实现 爬取一个收藏夹 里 所有问题答案下的 图片 文字信息暂未收录,可自行实现,比图片更简单 具体代码里有详细注释,请自行阅读 项目源码: # -*- cod ...
- 简单的python爬虫教程:批量爬取图片
python编程语言,可以说是新型语言,也是这两年来发展比较快的一种语言,而且不管是少儿还是成年人都可以学习这个新型编程语言,今天南京小码王python培训机构变为大家分享了一个python爬虫教程. ...
- 简单的python爬虫--爬取Taobao淘女郎信息
最近在学Python的爬虫,顺便就练习了一下爬取淘宝上的淘女郎信息:手法简单,由于淘宝网站本上做了很多的防爬措施,应此效果不太好! 爬虫的入口:https://mm.taobao.com/json/r ...
- 【Python学习笔记三】一个简单的python爬虫
这里写爬虫用的requests插件 1.一般那3.x版本的python安装后都带有相应的安装文件,目录在python安装目录的Scripts中,如下: 2.将scripts的目录配置到环境变量pa ...
- 一个简单的python爬虫,以豆瓣妹子“http://www.dbmeizi.com/category/2?p= ”为例
本想抓取网易摄影上的图,但发现查看html源代码时找不到图片的url,但firebug却能定位得到.(不知道为什么???) 目标是抓取前50页的爆乳图,代码如下: import urllib2,url ...
- 一个简单的python爬虫(转)
# -*- coding: utf-8 -*- #--------------------------------------- # 程序:百度贴吧爬虫 # 版本:0.1 # 作者:why # 日期: ...
- 一个简单的Python爬虫
写了一个抓taobao图片的爬虫,全是用if,for,while写的,比较简陋,入门作品. 从网页http://mm.taobao.com/json/request_top_list.htm?type ...
- 简单的python爬虫实例
目标网站:https://www.quanjing.com/category/1286521/2.html 爬取搜索出来的所有“中东人”的图片: 先看一下源代码,找到存放图片链接的地方,在源代码最下面 ...
随机推荐
- Scrapy信号量
1.类 from scrapy import signals class MySingle(object): def __init__(self): pass @classmethod def fro ...
- [bzoj3244] [洛谷P1232] [Noi2013] 树的计数
Description 我们知道一棵有根树可以进行深度优先遍历(DFS)以及广度优先遍历(BFS)来生成这棵树的DFS序以及BFS序.两棵不同的树的DFS序有可能相同,并且它们的BFS序也有可能相同, ...
- 个人任务day7
今日计划: 整合程序,排除错误. 昨日成果: 写注册界面.
- 2019杭电多校赛第九场 Rikka with Mista
Problem Description Rikka is a fervent fan of JoJo's Bizarre Adventure. As the last episode of Golde ...
- NOI2.6 8782: 乘积最大
描述 今年是国际数学联盟确定的"2000--世界数学年",又恰逢我国著名数学家华罗庚先生诞辰90周年.在华罗庚先生的家乡江苏金坛,组织了一场别开生面的数学智力竞赛的活动,你的一个好 ...
- SpringBoot_Web开发_定制错误数据
SpringBoot默认的错误处理机制 默认效果: 1).浏览器,返回一个默认的错误页面 2).如果是其他客户端,默认响应一个json数据 原理: 可以参照ErrorMvcAutoConfig ...
- 团队项目——Alpha1版本
团队项目-Alpha版本发布1 一.格式描述 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/GeographicInformationScience/ ...
- c#数字图像处理(九)图像镜像
private void mirror_Click(object sender, EventArgs e) { if (curBitmap!=null) { mirror mirForm = new ...
- 数据结构与算法 --- js描述队列
js描述队列 队列的特性是只能在队尾插入元素,在队首删除元素,先进先出: 队列被用在很多地方,比如提交操作系统执行的一系列进程,打印任务池,模拟现实中的排队: //队列类 function Queue ...
- [C语言学习笔记二] extern 函数的用法
extern 用来定义一个或多个变量.其后跟数据类型名和初始值.例如: extern int a =10 它与 int,long long int,double,char的本质区别,在于 extern ...