爬虫技术
文章平均质量分 63
这是一个爬虫的专栏,包括但不限于爬虫脚本、爬虫框架及项目搭建、Scrapy、Spider等各种流行python框架的使用及分析,以及各种反爬技术、反反爬技术。
橙子园
落地生根,长成参天大树
展开
-
mongoDB聚合操作在爬虫中的应用:查询匹配对应条件的数据,然后随机取样
背景:假如我的爬虫需要同一套代码,实现并行执行多个爬虫任务。这时你可以使用代码中实现多进程,这样做部署在一台服务器中是可以的。但是如果你是部署多台服务器的时候,就有问题了。当然有多种实现方式,但我这边是使用mongo来实现的。解决:当你启动爬虫时,将一些爬虫列表(适合于万级~千万级别)存储在mongo中。然后,查询对应条件的爬虫列表,然后随机取样,这就可以实现多个并行爬虫获取到的爬虫列表不同,从而避免多次运行一套代码重复爬取相同的列表,当然这样还是可能重复,但已经极大程度避免了爬虫列表的重复,提高了爬原创 2021-02-07 17:49:24 · 670 阅读 · 0 评论 -
解决scrapy设置cookie中间件时遇到的问题
直接给出答案:注释掉COOKIES_ENABLED解释COOKIES_ENABLED作用:当COOKIES_ENABLED是注释的时候scrapy默认没有开启cookie当COOKIES_ENABLED没有注释设置为False的时候scrapy默认使用了settings里面的cookie当COOKIES_ENABLED设置为True的时候scrapy就会把settings的cookie关掉,使用自定义cookie补充:downloader中间件下如何实现请求携带cookie在scrapy项目原创 2020-11-12 18:20:28 · 1370 阅读 · 0 评论 -
一文教你用squid将闲置的服务器搭建成爬虫使用的高匿代理服务器
废话:我有一台centos7的服务器,吃灰了很久,本来用来部署博客网站的,但是也完全利用不起来,浪费我的钱啊!接下来我要让它成为一个高匿的爬虫代理服务器。场景:为什么要搭建这个东西,而不直接使用爬虫代理服务商提供的代理?假设根据爬取一个网站的经验发现这个网站在爬取频率不高的情况下不会封掉IP,但是我要求代理的质量要很高,不要像一些爬虫代理服务商提供的代理一样几乎没有多少请求是通的,虽然会使用重...原创 2020-07-16 17:37:21 · 2064 阅读 · 1 评论 -
DeprecationWarning: count is deprecated. Use Collection.count_documents instead.【对比全面详细】
环境python 3.7mongodb v4.2.1pymongo 3.9.0问题DeprecationWarning: count is deprecated. Use Collection.count_documents instead.print(cursor.count())场景当我使用pymongo查询出对应的cursor(find出的document的迭代器),然...原创 2020-04-09 11:12:33 · 4005 阅读 · 3 评论 -
python爬虫实例二:地图上的火锅美味
这次分享爬虫的一个小案例,本来还有数据分析的部分,但休息两天实在写不完代码,加上还要编辑图文。所以我打算分开写,有空就迭代迭代。。。先看下代码目录结构(目前还不会编辑好看的图文,谅解慢慢增强):有三个.py文件,map_craw.py、stat.py、store.py分别的功能是爬取数据、数据分析、将爬取的数据存储入mysql数据库中,由于stat.py还没写完,这篇文章主要讲数据的爬取与存...原创 2019-07-12 14:25:13 · 2249 阅读 · 0 评论 -
错误:requests.exceptions.SSLError: None: Max retries exceeded with url:
报错requests.exceptions.SSLError: None: Max retries >exceeded with url解决安装更新的pyopensslpip install -U pyopenssl原创 2019-05-14 17:57:58 · 1819 阅读 · 0 评论 -
python将json格式的字串或字典在控制台上优美的结构化输出(爬虫时查看接口reponse返回的json数据时用到)
python将json格式的字串或字典在控制台上优美的结构化输出一、实例:1.字典2.字串如果是字符串可以先用loads将字串转化成一个json对象,然后用dumps结构化后输出到控制台上。一、实例:1.字典import jsonst2 = {"data":{"actualCost":2200000,"batchId":"0","consultant":"主帐号(*7390)","con...原创 2019-03-23 08:50:26 · 1922 阅读 · 0 评论 -
python爬取xici的免费代理、并验证(重点、清楚)
网上爬取xici的帖子很多,但是验证都说的不是很清楚,这里我会认真给大家解释这里我写了一个代理类proxy,写了四个方法(个人写法不必在意),get_user_agent(得到随机use-agent,请求头中最重要的一个)、get_proxy(爬取代理IP)、test_proxy(验证代理可用性)、store_txt(将可用的代理保存到txt文件中。1.爬取:headers是请求头,cho...原创 2019-01-30 13:27:19 · 3327 阅读 · 1 评论 -
互动吧爬虫实战+python
最近由于工作需要爬取一些数据,分享几篇文章爬虫实战的文章。网址:http://www.hdb.com/hangzhou/对于爬虫首先你要了解一些基础知识,Http 请求等。使用chrome浏览器,安装一个插件,可以使用浏览器的抓包工具,我这里使用的是Safari浏览器,大致一样。在浏览器右击有一个检查元素,我的是Inspect Element。我是用的是python,使用的reques...原创 2018-11-01 19:58:33 · 1264 阅读 · 0 评论 -
scrapy获取当前请求网页时的cookie
1、请求CookieCookie = response.request.headers.getlist('Cookie')print(Cookie)2、响应Set-CookieCookie2 = response.headers.getlist('Set-Cookie')print(Cookie2)注意:爬虫时一般要获取网页上的cookie是指第一个请求Cookie...原创 2019-09-26 16:35:28 · 3112 阅读 · 0 评论 -
pyppeteer部署在centos7上出现的问题
1.error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory解决:安装libXScrnSaveryum install libXScrnSaver2.pyppeteer.errors.NetworkError: Protocol...原创 2019-09-26 16:07:11 · 1935 阅读 · 0 评论