![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
爬虫
废材终结者
努力努力,不让自己的人生留有遗憾
展开
-
爬虫笔记day13
xpath语法解析定义:xpath即为xml路径语言,它是一种用来确定xml文档中某部分位置的语言,同样适用于HTML文档的检索xpath选取节点1、//:从所有节点中查找(包括子节点和后代节点)2、@:获取属性值使用场景1(属性值作为条件)://div[@class="movie-item-info"]使用场景2(直接获取属性值)://div[@class="movie-item-info"]/a/img/@src3、匹配多路径xpath表达式1|xpath表达式2|xpath表达式3原创 2022-01-15 19:41:57 · 364 阅读 · 0 评论 -
爬虫笔记day12(续)
实例2:豆瓣中抓取多张图片百度图片官网:https://movie.douban.com/程序运行效果:自动创建文件夹:./images/豆瓣/并把首页的图片保存到此文件夹案例实现步骤:1、查看所抓取数据(图片URL地址)在响应内容中是否存在2、url地址:https://movie.douban.com/3、正则表达式(一切以响应内容为主):<li class="ui-slide-item".*?<img src="(.*?)".*?</li>4、代码实现im原创 2021-12-16 00:03:51 · 680 阅读 · 0 评论 -
爬虫笔记day12
requests模块功能:类似于urllib库,向网站发请求获取响应,为第三方模块安装:Linux:sudo pip3 install requestsWindows:python -m pip install requests常用方法:res=requests.get(url=url,headers=headers)响应对象res属性res.text:获取响应对象内容-字符串res.content:获取响应对象内容-bytesres.status_code:获取http响应码res原创 2021-12-14 13:10:13 · 565 阅读 · 0 评论 -
爬虫笔记day11
增量爬虫Redisredis下载安装:知识点补充:redis连接import redisr=redis.Redis(host=‘localhost’,port=6379,db=数据库)r.sadd(‘url:表’,‘需要插入的数据’)原理:1、redis 基于内存,效率高2、利用redis中集合的特性,自动去重,可以轻松管理所有请求的指纹实现思路:1、利用集合的sadd()方法向集合中添加指纹,根据返回值来判断集合中是否存在改指纹2、添加成功返回1,表示此请求之前并未抓取过3、添加失原创 2021-12-12 12:51:13 · 1067 阅读 · 0 评论 -
爬虫笔记day10
增量爬虫Mysql定义:每次爬取只抓取新更新的链接,之前抓取过的链接不会再继续抓取实现思路 MySQL:1、MySQL中新建指纹表,用来存储所有爬取过的链接的指纹2、在爬取任何链接之前,先判断该指纹是否存在于指纹表,如果已存在则不在进行爬取注意:对于常规网站来说,新更新的数据一般会在最前面。比如说新闻类网站(新更新的新闻会在页面顶部)、电商类网站、房产类网站等所以、一旦检测到有链接已经爬取过的,则无需继续再检测之后的链接,终止程序即可知识点补充:1、给url地址进行md5加密生成指纹fr原创 2021-12-12 11:35:33 · 913 阅读 · 0 评论 -
redis下载与安装
1、redis下载Windows 64位版本下载地址:https://github.com/microsoftarchive/redis/tags这里只下载window64版本,和redis最新版本点击downloads,接下来点击mis文件,下载mis文件2、redis安装1、将下载好的redis放到自己的某个文件夹中,例如我的在 E:\redisDB2、双击文件,点击运行一路next到下面这个界面,可以更改文件的保存地址默认端口号是:6379点击ok,选择将安装地址写入系统环原创 2021-12-12 11:31:21 · 632 阅读 · 0 评论 -
爬虫笔记day09
汽车之家多级页面数据爬取url地址:https://www.che168.com/beijing/a0_0msdgscncgpi1lto1csp1exx0/爬取目标:二级地址抓取车的型号案例分析:一级页面所抓数据:汽车详情页链接二级页面所抓数据:车的标题数据抓取的实现步骤:1、确定响应内容中是否存在所需抓取两级页面所抓取数据在响应内容中全部存在2、观察url地址规律:第一页:https://www.che168.com/beijing/a0_0msdgscncgpi1lto1csp1ex原创 2021-12-05 14:33:25 · 347 阅读 · 0 评论 -
爬虫笔记day08-持久化存储(mongoDB)
数据持久化-mongoDBmongoDB下载地址mongoDB基础知识:1、为非关系型数据库,数据以键值对方式存储2、基于磁盘存储3、数据类型单一,值为JSON文档,而Redis基于内存4、mongoDB:库->集合—>文档5、MySQL:库->表->表记录进入mongoDB命令行:mongo常用命令:1、查看所有库:show dbs2、切换到指定库:use 库名3、查看当前库中的所有集合:show collections4、查看当前库中的文档:db.集合名原创 2021-11-30 11:49:53 · 430 阅读 · 1 评论 -
爬虫笔记day07-持久化存储mysql
pymysql模块与mysql数据库交互连接步骤:1、创建数据库连接对象 db=pymysql.connect(xx,xx,xx,xx,xx)2、创建游标对象 cursor=db.cursor()3、执行sql命令 cursor.execute(sql语句,[xx,xx])4、提交到数据库执行 db.commit()5、关闭游标 cursor.close()6、断开数据库连接 db.close()pymysql之execute方法问题:使用pymysql模块在列表中插入一条数据数据库名称原创 2021-11-27 13:17:09 · 400 阅读 · 0 评论 -
爬虫笔记day06-持久化存储(csv)
数据持久化存储——csv模块:csv python 标准库作用:将爬取的数据存放到本地的csv文件中使用流程:1、导入库 import csv2、打开csv文件 with open(‘test.csv’,‘w’,newline="") as f:(注意:newline=""是只有windows需要,Linux系统在写入文件时不会换行)3、初始化写入对象 writer=csv.writer(f)4、写入数据(参数为列表)方式一:单行写入writer.writerow([1,2,3])方式二原创 2021-11-25 13:15:18 · 711 阅读 · 0 评论 -
爬虫笔记day05
使用正则猫眼电影top100抓取(未能爬取成功,暂时无法避过安全验证)需求:百度搜索-猫眼电影-榜单-top100榜抓取数据:电影名称、主演、上映时间请求头:headers={‘User-Agent’:‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0’}实现步骤:1、查看所抓取数据在响应内容中是否存在右键-查看网页源码-搜索所抓取数据关键字(可以定义为电影名称),需要存在2、查找并分析URL规律原创 2021-11-24 21:01:35 · 4050 阅读 · 0 评论 -
爬虫笔记day04
续正则分组例题注意:有加括号的只输出括号里面的表达式,多个括号用元组存储#例子:import reS='A B C D'p1=re.compile('\w+\s+\w+')p=p1.findall(S) #['A B', 'C D']p2=re.compile('(\w+)\s+(\w+)')p=p2.findall(S) #[('A', 'B'), ('C', 'D')]p3=re.compile('(\w+)\s+\w+')p=p3.findall(S) #['A', 'C']pr原创 2021-11-23 23:09:08 · 249 阅读 · 0 评论 -
爬虫笔记day03
正则表达式re模块使用使用方法1:r_list=re.findall(‘正则表达式’,html,re.S)使用方法2:pattern=re.compile(‘正则表达式’,re.S)r_list=pattern.findall(html)注意:1、使用findall()方法得到的结果一定为列表2、re.S作用为使得正则表达式元字符可匹配到‘\n’在内的所有字符正则表达式中爬虫常用的元字符. 任意一个字符(不包括换行)\d 一个数字\s 空白字符\S 非空白字符[] 包含[]内容原创 2021-11-21 22:36:16 · 590 阅读 · 0 评论 -
爬虫笔记day02
静态数据百度贴吧案例请求头:headers={‘User-Agent’:‘Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0’}需求:1、输入贴吧名称:如明星吧2、输入起始页3、输入终止页4、保存到本地文件:如xxx第1页.html实现步骤:1、查看所抓取数据在响应内容中是否存在右键-查看网页源码-搜索所抓取数据的关键字2、查看并分析url地址规律如:第一页:https://tieba.baidu原创 2021-11-21 22:32:05 · 679 阅读 · 0 评论 -
爬虫笔记day01
抓取数据的目的:1、获得大量数据,用来做数据分析 2、作为公司项目的测试数目 3公司业务所需数据网络爬虫分类:1、通用网络爬虫(搜索引擎使用,遵守robots协议)robots协议:网站通过robots协议告诉搜索引擎哪些页面可以抓取,哪些页面不可以抓取查看网站robots协议方法:网站链接/robots.txt2、聚焦网络爬虫:自己写的爬虫程序爬取数据步骤:1、确定需要爬取的URL地址2、由请求模块向URL地址发出请求,并得到网站的响应3、利用解析模块从响应内容中提取所需数据原创 2021-11-21 22:25:43 · 650 阅读 · 0 评论