Python 小爬虫流程总结
接触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 小爬虫流程总结的更多相关文章
- 【现学现卖】python小爬虫
1.给小表弟汇总一个院校列表,想来想去可以写一个小爬虫爬下来方便些,所以就看了看怎么用python写,到了基本能用的程度,没有什么特别的技巧,大多都是百度搜的,遇事不决问百度啦 2.基本流程就是: 用 ...
- python小爬虫练手
一个人无聊,写了个小爬虫爬取不可描述图片.... 代码太短,就暂时先往这里贴一下做备份吧. 注:这是很严肃的技术研究,当然爬下来的图片我会带着批判性的眼光审查一遍的.... :) #! /usr/ ...
- Python小爬虫-自动下载三亿文库文档
新手学python,写了一个抓取网页后自动下载文档的脚本,和大家分享. 首先我们打开三亿文库下载栏目的网址,比如专业资料(IT/计算机/互联网)http://3y.uu456.com/bl-197?o ...
- Python小爬虫——抓取豆瓣电影Top250数据
python抓取豆瓣电影Top250数据 1.豆瓣地址:https://movie.douban.com/top250?start=25&filter= 2.主要流程是抓取该网址下的Top25 ...
- 第一个Python小爬虫
这个爬虫是参考http://python.jobbole.com/81353/这篇文章写的 这篇文章可能年代过于久远,所以有些代码会报错,然后我自己稍微修改了一下,增加了一个getContentAll ...
- python 小爬虫爬取博客文章初体验
最近学习 python 走火入魔,趁着热情继续初级体验一下下爬虫,以前用 java也写过,这里还是最初级的爬取html,都没有用html解析器,正则等...而且一直在循环效率肯定### 很低下 imp ...
- python小爬虫【1】
爬取百度贴吧的图片 分析贴吧源代码,图片所在位置是:<img class="BDE_Image" src=“........jpg” pic_ext..... 所以正则匹配是 ...
- 整理python小爬虫
编码使我快乐!!! 我也不知道为什么,遇到自己喜欢的事情,就越想做下去,可以一个月不出门,但是不能一天没有电脑 掌握程度:对python有了一个更清晰的认识,自动化运维,也许可以用python实现呢, ...
- Python小爬虫练习
# coding: utf-8 __author__ = 'zhangcx' from urllib3 import PoolManager import codecs import json cla ...
随机推荐
- Servlet学习笔记
在这里记录最重要的要点 1,tomcat-->conf-->server.xml里面的东西是什么?(tomcat怎么知道“谁”去处理客户端来的请求?) 最主要的是一个依赖的控制,换句话说什 ...
- Android基础总结(八)
服务两种启动方式(掌握) startService 开始服务,会使进程变成为服务进程 启动服务的activity和服务不再有一毛钱关系 bindService 绑定服务不会使进程变成服务进程 绑定服务 ...
- sublime 插件推荐: Nettuts+ Fetch
Nettuts+ Fetch github地址:Nettuts-Fetch 在sublime中直接用 ctrl+shift+P -> pci -> Nettuts-Fetch 即可下载 这 ...
- C#面向对象设计模式纵横谈——5.Factory Method 工厂方法模式(创建型模式)
动机 (Motivation) 在软件系统中,经常面临着“某个对象”的创建工作; 由于需求的变化,这个对象经常面临着剧烈的变化,但是它却拥有比较稳定的接口. 如何应对这种变化?如何提供一种“封装机制” ...
- iOS 开发总结(下)
来源:蝴蝶之梦天使 链接:http://www.jianshu.com/p/d333cf6ae4b0 四十.AFNetworking 传送 form-data 将JSON的数据,转化为NSData, ...
- windows下python的web环境搭建使用(观看Backbone的教程有感)
pip安装a 下载 get-pip.py (https://pip.pypa.io/en/latest/installing/#python-os-support b python get-pip.p ...
- sass接触
第一句话就是棒棒的,我爱上了. 看了真阿当的文章:<2016年前端技术观察> http://weibo.com/ttarticle/p/show?id=230940405256054051 ...
- Redis连接
using System; using System.Configuration; using StackExchange.Redis; namespace Redis { public sealed ...
- ss命令和Recv-Q和Send-Q状态
ss 用来显示处于活动状态的套接字信息.ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容.但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比nets ...
- webservice 测试窗体只能用于来自本地计算机的请求
Question: WebService部署成站点之后,如果在本地测试webservice可以运行,在远程却显示“测试窗体只能用于来自本地计算机的请求”或者"The test form is ...