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 爬取搜索出来的所有“中东人”的图片: 先看一下源代码,找到存放图片链接的地方,在源代码最下面 ...
随机推荐
- 华为,小米部分机型微信浏览器rem不适配的解决方案
针对近日华为,小米的部分机型,在升级系统或升级微信之后,微信内置浏览器产生的rem不能正确填充满的问题,有如下解决方案 目前来看,产生这个情况的原因是因为给html附font-size时,附上的fon ...
- Java单体应用 - 架构模式 - 01.三层架构
原文地址:http://www.work100.net/training/monolithic-architecture-3level.html 更多教程:光束云 - 免费课程 三层架构 序号 文内章 ...
- 【java面试】线程篇
1.什么是线程? 线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位. 2.线程和进程有什么区别? 线程是进程的子集,一个进程可以有很多线程,每条线程并行执行不同的任 ...
- Ubuntu16手动安装OpenStack
记录大佬的博客全文转载于https://www.voidking.com/dev-ubuntu16-manual-openstack-env/ 前言 <Ubuntu16安装OpenStack&g ...
- Ogre 的Node 位移、旋转
位移旋转有三种方式TS_LOCAL,TS_PARENT,TS_WORLD. TS_LOCAL是指自身坐标系,TS_PARENT是父节点坐标系,TS_WORLD是世界坐标系 比如 translate( ...
- Python学习,第五课 - 列表、字典、元组操作
本篇主要详细讲解Python中常用的列表.字典.元组相关的操作 一.列表 列表是我们最以后最常用的数据类型之一,通过列表可以对数据实现最方便的存储.修改等操作 通过下标获取元素 #先定义一个列表 le ...
- Java中的Swap,如何实现?
程序员都知道,在C/C++里面交换值的方法: void swap(int &a,int &b) { int temp; temp=a; a=b; b=temp; } 但是在Java中这 ...
- C#的JSON数据处理
假设一个Model: public class Person { public int Age { get; set; } public string Name { get; set; } } JSO ...
- zerotier 远程办公方案
武汉新肺炎疫情下,搞得人心惶惶.很多公司都要求前期远程办公 我厂日常有在家远程应急支持的情况,所以公司很早就有VPN服务.只需要申请VPN服务,开通之后就可以连上公司各种公共资源. 然而对于一些非公共 ...
- 如何理解Unicode,UTF-8,UTF-16。