- 博客(24)
- 收藏
- 关注
原创 爬虫-Scrapy(四) pipeline将数据存储至mysql库
1. mysql库环境准备a.服务器,准备一台linux服务器,可以自己机器上装个虚拟化软件,也可以连公司的闲置服务器或者租赁云服务器,不贵的。b.mysql,安装的5.7,官网应该有8了,但5.7还是最普遍的版本。c.Navicat for Mysql,非常好用的mysql客户端工具。安装过程省略,安装完成后新建一个库,起名spider,然后在新建一个表,起名book,准备接收数据用。建表脚本:CREATE TABLE book( id INT PRIMARY KEY AUTO_INCREM
2021-03-06 17:41:58
991
原创 爬虫-Scrapy(三) 翻页的实现
1. 翻页的实现上一篇实现了单页的爬取,再加3行代码就可以实现翻页了。基本思路是查找页面中‘下一页’按钮对应的href地址,然后回调parse方法实现循环,直至找不到’下一页’的链接为止。QiubaiSpider.pyimport scrapyimport refrom scpy1.items import Scpy1Itemclass Qiubai1Spider(scrapy.Spider): name = 'qiubai1' allowed_domains = ['qiu
2021-03-06 17:29:05
3013
原创 爬虫-requests库(三)post请求提交data的使用 — 在线百度翻译(含sign破解)
爬虫-requests库(三)post请求提交data的使用 — 在线百度翻译(含sign破解)
2021-02-23 18:01:18
817
1
原创 爬虫-requests库(二)get请求参数的使用 —搜狗搜索后爬取搜索结果
之前写过一个用urllib.request 爬取百度搜索后结果的小文章百度搜索关键词后爬取搜索结果这次用requests库实现下搜狗搜索后查询,代码import requestsfrom fake_useragent import UserAgent#定义urlurl = "https://www.sogou.com/web"#设置request headerua = UserAgent()headers = { "User-Agent":ua.random}#交互输入
2021-02-22 10:32:13
793
原创 爬虫-requests(一) 初识requests
简单示例import requests#定义urlurl = 'https://www.sohu.com'#发起请求,返回相应对象response = requests.get(url=url)#数据存储with open('./file/sohu.html','w',encoding='utf-8') as fw: fw.write(response.text)#提示完成print("爬取完成!")...
2021-02-21 23:51:35
172
原创 爬虫-数据存储(三)redis在windows系统中的安装
1.下载github 下载链接,下载最新的 3.2.100这个版本https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100选择msi安装包。2. 安装安装简单,基本一路next,一些可选项按默认的勾选就很好。比如这个安装路径自动添加到环境变量端口号,设置防火墙例外。内存限制,这个默认是不限制,但如果怕不小心占用过高,也可以设置个限制,比如100M。安装完成。3.set ,get 测试安装完成后服务自动就启动了
2021-02-12 20:38:10
188
原创 爬虫-Scrapy(二) 爬取糗百笑话-单页
1. Scrapy 设置文件修改配置文件就是项目根路径下的 settings,py ,改下面的配置信息a.遵循人机协议设置成false,否则基本啥也爬不到# Obey robots.txt rulesROBOTSTXT_OBEY = Falseb. 设置ua,不然大部分网址是爬不到的# Crawl responsibly by identifying yourself (and your website) on the user-agentUSER_AGENT = 'Mozilla/5.0
2021-02-12 00:24:12
445
原创 爬虫-Scrapy (十) 搭建ip代理池
每一个爬虫工作者都应该有一个ip池,就像一、找到一个ip代理提供商提供ip代理的服务商很多,基本都会先提供些不稳定的免费ip,然后引导你消费,我们这次二、抓取ip三、过滤有效ip四、入库1、从代理网站(如:西刺代理、快代理、云代理、无忧代理)爬取代理IP;2、验证代理IP的可用性(使用代理IP去请求指定URL,根据响应验证代理IP是否生效);3、抓取在《Python爬虫代理池搭建》一文中我们已经使用Python的 requests 模块简单实现了一个IP代理池搭建,但是爬取速度较慢。由于西
2021-02-11 16:21:00
3417
2
原创 爬虫-Scrapy (五) 爬取美女图片
Scrapy 框架的piplelines下提供了现在图片和视频的类,这使得我们将页面中的图片下载到本地非常方便。1.寻找目标百度搜索‘美女’,就可以找到很多有美女图片的网站,这里不贴地址了,反正很多。我找个是这样个的一个网站我们按F12看下页面源码结构非常清晰,我们的目标就是爬取页面中的图片,并按主题保存到本地,动手。2.item定义2个属性,主题名称和图片地址列表。图片Itemclass ImageItem(scrapy.Item): topic_name = scrapy.F
2021-02-03 11:23:11
420
原创 爬虫-数据存储(二) mongdb的基本操作
1.基本概念数据库(database):是一个仓库,仓库中可以存放集合集合(collections):类似数组,在集合中可以存放文档文档(document):文档数据库的最小单位,我们存储和操作的内容全部是文档2.服务级指令进入mongdb shell : mongo退出mongdb shell: exit3.库级指令显示数据库: show dbs创建/切换数据库: use databasename查看数据库列表:show dbs显示当前使用的数据库名称::db显示当前使用
2021-02-03 10:51:40
530
1
原创 爬虫-Scrapy(九)Scrapy使用代理
还是这张图,代理的设置就卸载这个下载的中间件 Downloader Middlewares。开搞1.创建一个新项目:创建一个项目>scrapy startproject s0127 ;进入项目> cd scrapy ;创建一个爬虫文件>scrapy genspider Proxy baidu.com2. 修改配置文件,启动用下载中间件# Enable or disable downloader middlewares# See https://docs.scra
2021-01-28 15:58:49
484
原创 爬虫-Scrapy(八)Scrapy快读提取超链接
前面写过用xpath 方式定位response对象中我们所需要的超链接地址,但如果超链接过多且位置规律性差就不太方便了,现在介绍一种快速提取和过滤超链接地址的方法1.明确需求查看豆瓣图书中首页中所有图书的超链接,先看首页长这样的然后随便点击一本数,进入图书的详情页,是这样的此时我们查看下浏览器的url地址,是https://book.douban.com/subject/35166573/?icn=index-latestbook-subject,这个就是我们要抓取的地址。2. 创建爬虫可以
2021-01-27 15:30:16
941
原创 爬虫-Scrapy(一) Scrapy 安装和创建项目
windows 下 Scrapy 的安装用pip 安装,网上的教程非常多,这里就不详细写了。注意安装过程中可能因为缺少依赖安装失败,这个时候有些教程说必须安装完整版的visual stdio,这玩意非常大,其实不需要,只需要安装合适版本的twisted就可以了,注意不要被误导了。2.Scrapy 框架运行流程对,就是下面这种图,very very famous ,基本讲到的Scrapy都会提及,讲的概念都大同小异,后面使用中慢慢说吧。估计找工作面试的话很容易被问到吧。3.Scrapy 创建.
2021-01-27 15:17:19
1026
原创 爬虫-selenium(二)微博账号登录淘宝
1. selenium 操控chrome浏览器上一篇写的是操作火狐浏览器,今天切换成谷歌的chrome浏览器,对开发者更友好些,插件也多。第一步是下载对应的驱动程序,上一篇中有链接,但谷歌不翻墙还没办法访问,又找到了一个可以下载的地址 http://chromedriver.storage.googleapis.com/index.html 找到操作系统对应和浏览器对应的版本下载即可。下载完成后解压,是个名叫chromedriver.exe的文件,仍旧给他放到一个配置了环境变量的路径,比如python
2021-01-27 11:46:33
680
1
原创 爬虫-python(二)初识urllib.request
继续写。上一篇写了最简单的一个爬虫,这次我们改下url地址,换成糗百,修改完的代码如下:from urllib.request import urlopen# 发送请求,获取服务器给的响应url = "https://www.qiushibaike.com/"response = urlopen(url)# 读取结果,无法正常显示中文html = response.read()# 进行解码操作,转为utf-8html_decode = html.decode()# 打印结果p
2021-01-25 16:54:19
235
原创 爬虫-python(三) 百度搜索关键词后爬取搜索结果
9点49,老婆孩子都睡着了, 继续搞。第1篇写了访问百度并打印页面源码,似乎没什么实际意义,这次弄个有点用的,就是百度中输入指定关键词后搜索,然后获取搜索结果第一页(翻页后面会陆续写)。比如我们输入‘博客园’,下面是查询结果(为啥写博客园不写CSDN呢,因为最早是博客是在博客园里写的,现在自己转发到CSDN,不改了):这个时候我们看下浏览器中url地址 ,大概是这个样子的好老长,我们去除掉一些看不懂的部分,只保留ie 和wd 这2个参数试下能否正常访问可以的访问,现在我们把这个url复制到 代
2021-01-24 10:51:15
6621
1
原创 爬虫-selenium(一)Selenium的安装和使用
Selenium作为浏览器操控工具,在自动化测试和爬虫方面都应用广泛。这篇先说下安装和基本使用。1. python 安装 selenium 库我本地的python 版本是 3.9 ,用pip 安装下 seleniumpip install selenium安装完成后,我们进入python的安装路径下\Lib\site-packages ,看下安装结果,安装的是 3.141.0 版本。2. WebDrivers 的安装selenium 不能直接操作浏览器,需要一个驱动,这里官方文档提供了4种
2021-01-23 21:15:05
613
原创 爬虫-python(一) 初识爬虫
开始写爬虫随笔,总结和分享技术,也希望对未来换工作有帮助。 本系列随笔遵循两个原则,一是简洁,二是亲测可用。开干。1. 环境准备python 3.9.0IDE:PyCharm两者都可以从官网下载,安装简单,不再累述。2. 最简单的爬虫爬虫最基本的流程是 发送请求(get/post)-- 获取响应结果 – 解析响应结果(xpath,css)-- 持久化存储(文件、库)。打开PyCharm,选择File-NewProject ,新建1个项目,注意第一次使用的时候没有解释器,点击解释器右侧齿轮标志选
2021-01-21 15:36:45
190
原创 爬虫-Scrapy (六) 模拟登录
开始写模拟登录,很复杂,先写个最简单的。1.不登录抓取主页现在找一个简单提交form表单登录的网站也不好找,这次用内网部署的Azkaban管理平台做个示例。首先打开登录页面,是这样的输入账号,密码登录后,会自动跳转到主页,是这样的先记下主页的url,https://域名/index, 然后退出登录,粘贴主页的地址,访问,这时候会发现自动跳转到了 登录页面,无法访问到主页的信息。这就是后台限定了必须登录后才可以查看主页,此时想要爬取主页信息时必须先模拟登录。新生成1个爬虫,试下不登录的爬取效
2021-01-20 22:06:09
357
2
原创 爬虫-数据存储(一)Centos 安装MongoDB
标题是不是应该叫数据持久化逼格更高一点呢。1.用yum安装创建yum源文件:cd /etc/yum.repos.d vim mongodb-org.repo 添加以下内容:[mngodb-org]name=MongoDB Repositorybaseurl=http://mirrors.aliyun.com/mongodb/yum/redhat/7Server/mongodb-org/4.4/x86_64/gpgcheck=0enabled=1这里注意地址用的阿里云的镜像库,比mo
2021-01-18 23:13:55
133
原创 爬虫-Scrapy(七)抓取招聘信息技能关键词,生成词云图
这个昨晚10点做到今天凌晨2点多,主要是安装wordcount 各种Duang Duang 的报错,建议需要安装的同学自己去下载对应的版本,不要太依赖pip的自动安装。开搞1.抓取招聘信息列表找一个招聘网站,最好不用登录就可以浏览职位的那种,然后输入关键次,先查看下结果。私心想着如果结果太多,就在加上些企业规模、薪资待遇等条件搜小下爬取范围,因为只为学习研究,数据量大的话太影响效率。结果发现 关键词:爬虫 + 地区:北京 只有3页110个结果,悲哀,那就全来吧。a.翻页,实现遍历3页翻页,访问
2021-01-17 16:12:09
895
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人