接触Python3一个月了,在此分享一下知识点,也算是温故而知新了。

接触python之前是做前端的。一直希望接触面能深一点。因工作需求开始学python,几乎做的都是爬虫。。第一个demo就是爬取X博数据,X博的API我在这就不吐槽了 。用过的估计都晓得。

好了 。下面进入正题,,一个小demo的开始与结束 。

1.首先对于像我一样0基础的,推荐几个网址:

廖雪峰的教程从安装到基本语法、模块安装等等基础都不简单易懂。这里就不赘述了

(1).http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000

(2)http://cn.python-requests.org/zh_CN/latest/    requests模块的语法。请求是爬数据的起始点 ,这个可以多了解(然而我也是初学)

(3)https://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html   BeautifulSoup模块(核心就是节点操作,和js的节点操作挺像)

爬取简单数据我个人总结就是大致的 3点:

1、请求数据

2、进行数据处理

3、写数据

第一点 请求的数据 会有几种可能:

1、很简单的html页面。。就直接requests就可以请求成功

2、js渲染的页面 (这种页面超多)requests请求一堆js数据   (以前我用的一个模块 selenium (代码基于浏览器运行) 推荐大家千万别用,性能 很差。)

3、需要登录才能获取(( ̄▽ ̄)")至今登录我都是用的cookie 请求登录—— 其他更好的方法目前还在研究途中 有验证码更麻烦 balabala...(chookie有效期长的话直接就用就好了 )

4、json数据

第二点 数据处理 会有几种可能:

1、请求的数据是简单的html结构页面--直接BS4解析就好了

2、请求的数据是json--导入json模块进行解析

3、请求的数据是简单的js渲染的html页面

遇到这种页面(通过抓包 或者简单的在网站上审查请求) 然后找的你想要的那部分数据(数据有可能是json数据 有可能嵌到js中)

如果是js渲染的html  例如这样:

这其实就是js拼写的html,,只要把其他无用的数据匹配掉用正则找到剩下想要的html文本就好了 。

然后BS4解析。。

第三点 写数据(当初一个编码格式弄了半天 在这我会多啰嗦几句)

open方法进行文件打开 里面的参数进行文件格式设置,读写文件、编码格式操作

with open("XXX.xxx","a",encoding="utf-8") as f :
  f.write('''写入的数据''')

文件格式我用过的就是txt、csv 、xml   大部分文本格式都支持的。

a--是创建文件 每次写都是重新创建

w--是追加

a--是读数据

encoding="utf-8"这句话   不加encoding=  在windows系统下会报编码错误  linux不会。

然后就是数据量太大 写入到数据库

数据库就用sqlite  记得引入模块 import sqlite3(就是创建数据表等等。。教程里面都有。。)

目前先就这样,以后会不定期总结 也会直接更代码案例等...

Python 小爬虫流程总结的更多相关文章

  1. 【现学现卖】python小爬虫

    1.给小表弟汇总一个院校列表,想来想去可以写一个小爬虫爬下来方便些,所以就看了看怎么用python写,到了基本能用的程度,没有什么特别的技巧,大多都是百度搜的,遇事不决问百度啦 2.基本流程就是: 用 ...

  2. python小爬虫练手

    一个人无聊,写了个小爬虫爬取不可描述图片.... 代码太短,就暂时先往这里贴一下做备份吧. 注:这是很严肃的技术研究,当然爬下来的图片我会带着批判性的眼光审查一遍的....   :) #! /usr/ ...

  3. Python小爬虫-自动下载三亿文库文档

    新手学python,写了一个抓取网页后自动下载文档的脚本,和大家分享. 首先我们打开三亿文库下载栏目的网址,比如专业资料(IT/计算机/互联网)http://3y.uu456.com/bl-197?o ...

  4. Python小爬虫——抓取豆瓣电影Top250数据

    python抓取豆瓣电影Top250数据 1.豆瓣地址:https://movie.douban.com/top250?start=25&filter= 2.主要流程是抓取该网址下的Top25 ...

  5. 第一个Python小爬虫

    这个爬虫是参考http://python.jobbole.com/81353/这篇文章写的 这篇文章可能年代过于久远,所以有些代码会报错,然后我自己稍微修改了一下,增加了一个getContentAll ...

  6. python 小爬虫爬取博客文章初体验

    最近学习 python 走火入魔,趁着热情继续初级体验一下下爬虫,以前用 java也写过,这里还是最初级的爬取html,都没有用html解析器,正则等...而且一直在循环效率肯定### 很低下 imp ...

  7. python小爬虫【1】

    爬取百度贴吧的图片 分析贴吧源代码,图片所在位置是:<img class="BDE_Image" src=“........jpg” pic_ext..... 所以正则匹配是 ...

  8. 整理python小爬虫

    编码使我快乐!!! 我也不知道为什么,遇到自己喜欢的事情,就越想做下去,可以一个月不出门,但是不能一天没有电脑 掌握程度:对python有了一个更清晰的认识,自动化运维,也许可以用python实现呢, ...

  9. Python小爬虫练习

    # coding: utf-8 __author__ = 'zhangcx' from urllib3 import PoolManager import codecs import json cla ...

随机推荐

  1. 让PDF.NET支持最新的SQLite数据库

    最近项目中用到了SQLite,之前项目中用的是PDF.NET+MySQL的组合,已经写了不少代码,如果能把写好的代码直接用在SQLite上就好了,PDF.NET支持大部分主流的数据库,这个当然可以,只 ...

  2. 锋利的jQuery-读书笔记(二)

    知识小点: 1.由于$()获取的永远是对象,不管括号里面的元素是否存在都会获得对象.所以检测某个元素在网页上是否存在时,不能使用以下代码: if($("#tt")){ //do s ...

  3. cocos2dx-lua_修改源码流程(cocos2dx-3.10、win7、Cocos Code IDE1.2)

    以下是在cocos2dx-3.10.win7.Cocos Code IDE1.2下假定你已经配置好了cocos2dx的环境.1.修改源代码步骤(1)在Cocos/Cocos2d-x/cocos2d-x ...

  4. css-列表或标题的多级计数

    利用css实现多级计数,比如1/1.1/1.1.1这种层层嵌套的计数,主要利用到counter-reset/counter-increment/counter/content/:before. 一.标 ...

  5. coreseek安装过程

    一.sphinx 全文检索 通过sphinx检索到id,然后到mysql里面拿到记录 什么是劝我呢检索?结构化数据: 具有固定格式或者长度的数据非结构化数据: 标题 内容 等不定长的数据非机构化数据还 ...

  6. Spring MVC学习笔记——SiteMesh的使用(转)

    转自 SiteMesh的使用 SiteMesh的介绍就不多说了,主要是用来统一页面风格,减少重复编码的. 它定义了一个过滤器,然后把页面都加上统一的头部和底部. 需要先在WEB-INF/lib下引入s ...

  7. 如何在Webstorm/Phpstorm中设置连接FTP,并快速进行文件比较,上传下载,同步等操作

    Phpstorm除了能直接打开localhost文件之外,还可以连接FTP,除了完成正常的数据传递任务之外,还可以进行本地文件与服务端文件的异同比较,同一文件自动匹配目录上传,下载,这些功能是平常ID ...

  8. Java ClassLoader 原理详细分析(转)

    转载自:http://www.codeceo.com/article/java-classloader.html 一.什么是ClassLoader? 大家都知道,当我们写好一个Java程序之后,不是管 ...

  9. svn 版本迁移到 git 仓库

    1.拉取 svn代码并转成 git 版本 git svn fetch http://svn.qtz.com/svn/qtz_code/java/qtz_sm/project/qtz_sm -Auser ...

  10. 动态令牌-(OTP,HOTP,TOTP)-基本原理

    名词解释和基本介绍 OTP 是 One-Time Password的简写,表示一次性密码. HOTP 是HMAC-based One-Time Password的简写,表示基于HMAC算法加密的一次性 ...