欢迎光临
我们一直在努力

python网络爬虫总结,python爬虫笔记

Python爬虫学习总结 一、前提

请求网站并提取数据的自动化程序, 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。
爬虫基本流程

发起请求:通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。获取响应内容:如果服务器能正常响应,会得到一个Response,Response的内容便是所要获取的页面内容,类型可能有HTML,Json字符串,二进制数据(如图片视频)等类型。解析内容:得到的内容可能是HTML,可以用正则表达式、网页解析库进行解析。可能是Json,可以直接转为Json对象解析,可能是二进制数据,可以做保存或者进一步的处理。保存数据:保存形式多样,可以存为文本,也可以保存至数据库,或者保存特定格式的文件。 二、经验总结 1、爬取数据我个人总结就是大致的 3点: 请求数据进行数据处理写数据 香港vps

第一点 请求的数据 会有几种可能:
1、很简单的html页面。。就直接requests就可以请求成功
2、js渲染的页面 (这种页面超多)requests请求一堆js数据 ,模块 selenium (代码基于浏览器运行)
3、需要登录才能获取用的cookie 请求登录
4、json数据

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

1、请求的数据是简单的html结构页面–直接BS4解析就好了
2、请求的数据是json–导入json模块进行解析
3、请求的数据是简单的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系统下会报编码错误 。
然后就是数据量太大 写入到数据库
数据库就用sqlite 记得引入模块 import sqlite3

2、爬取路线选择

静态网页:静态网页以及少量表单交互的网站可以使用如下的技术路线:
  requests + BeautifulSoup + select css选择器
  requests + BeautifulSoup + find_all 进行信息提取
  requests + lxml/etree + xpath 表达式
  requests + lxml/html/fromstring + xpath 表达式
动态网页。简单动态网页,需要有点击或者提交的可以参考selenium + phantomJS组合使用。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。