![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Python爬虫
文章平均质量分 56
Amoor123
多年搬砖,热血难凉
展开
-
用scrapy-redis分布式框架采集站点的漂亮图片,代理服务器,随机UA技术
分享点以前做的项目,攒点项目经验前面讲了怎么做scrapy-redis的配置,这次做个采集的实例网站是彼岸图网:https://pic.netbian.com/4kmeinv/分析采集上面这个链接分类下的所有图片,分析网站是148页,读取下一页的链接前往下一页,读取上面的图片链接进入详情取大图的地址运行效果redis的存储中途停了以后也可以在命令行重新输入命令继续再次运行它还是从那里开始接着继续数据处理数据库设计数据库存储大图的标题和下载url建表语句为CREATE TAB原创 2021-11-07 15:34:28 · 1150 阅读 · 1 评论 -
简单易用,几行命令实现使用scrapyd部署
要部署首先你要有个写好的scrapy项目,刚创建的也可以安装安装scrapyd和scrapyd-client两个库在项目中terminal启动scrapyd部署先在scrapy.cfg 里面配置scrapyd-deploy my -p mypro启动爬虫my是建立的项目名称,sta是爬虫的名称,这个是在前面创建项目时指定的curl http://localhost:6800/schedule.json -d project=my -d spider=sta 运行效果此时可原创 2021-11-06 11:44:28 · 331 阅读 · 0 评论 -
Scrapy-redis的分布式爬虫改造,基本概念和配置
这个包名字就是scrapy-redis利用redis为scrapy提供分布式队列、调度器和去重的功能设置配置设置中主要修改ITEM_PIPELINES = { 'my.pipelines.MyPipeline': 300, 'scrapy_redis.pipelines.RedisPipeline': 400,}# 分布式的配置SCHEDULER = "scrapy_redis.scheduler.Scheduler" # 调度DUPEFILTER_CLASS = "scr原创 2021-11-06 11:04:10 · 212 阅读 · 0 评论 -
Scrapy笔记,基本的流程与方法介绍
安装pip install scrapy有时候会有错误,cryptograph库存在问题进入rust网站,下载自己的系统版本https://www.rust-lang.org/tools/install运行后,确认安装,出现选1default,安装成功后会在自动退出,用检查版本的方式看是否安装成功这样的话scrapy不能在虚拟环境安装,只能在自己的主环境安装,会影响一些包可以重新建个虚拟环境继承系统环境启动项目创建项目scrapy startproject my创建s原创 2021-11-05 19:26:33 · 562 阅读 · 1 评论 -
用边缘检测算法和像素点对比处理滑块验证码原理解析
算法原理边缘检测算法提供滑块图,背景图作为数据,检测缺口左边缘的坐标最终检测出来的区域在红线框内像素点对比需要原图和缺口背景图作为数据,原理是检测第一个像素点数值不一样的位置的x坐标作为参考的移动距离,但是对有假缺口的数据不是很友好,提取到第一个就停了,如果假缺口在前面就会识别失败。比如这样的就会输出第一个缺口的位置但用cv2做边缘检测,可以很正常的找出数据位置从网页读数据网页上获取图片数据canvas元素可以通过toDataURL函数转换为指定格式的数据然后在selenium原创 2021-11-04 14:54:38 · 660 阅读 · 1 评论 -
用ddddocr识别图形字符验证码
函数很简单,这里主要分享流程目标这是一个网站 的注册页面找接口先在抓包工具或者浏览器检查界面找到验证码的位置测试测试下重放,发现数据可以正常发送,那就拷贝headers里面的一些参数和cookie到Postman做测试逐步添加headers信息直到能拿到数据组合带带弟弟编码拷贝python-requests代码到编译器,修改下即可为什么是带带弟弟,因为他就叫这个名字get_time_stamp13函数用于生成13位时间戳,作为文件名,文件会保存到本地进行比较ddddocr的用原创 2021-11-03 19:13:05 · 6703 阅读 · 0 评论 -
Charles手机端抓包,抓取小说软件整本小说的示例
基本配置点击如下界面,根据提示修改手机的网络代理参数自己手机连接同一个网络,设置代理服务器参数设置好后Charles会有一个提示消息,点击alllow允许就可以了然后手机上也要装证书,访问那个网站,如果老是卡在界面不下载的话,建议给文件改个名字提示要到CA中心去安装找到CA证书,进去安装即可这样采集的数据就不是乱码了查看小说软件数据查看手机小说软件的接口,如果他不对数据加密的话就能成功了这个软件的数据就没加密,可以直接看我打开了一本书,在上面的位置找到了书的信息去po原创 2021-11-01 18:46:27 · 2406 阅读 · 0 评论 -
第一百篇,真实可重现,详细实现昨日剩下的功能
这是上一篇Charles抓取数据包操作的实践详细教程,半自动是因为先要取得自己的token和cookie来修改为自己的登录账号,id也需要自己修改。修改的地方基本都替换掉用了中文提示具体内容放到项目文档里了项目地址:https://codechina.csdn.net/sabian2/mooc.git先解决上一篇代码直接使用的SSL错误上一篇的代码是从Postman直接获得的,Postman也有这个问题,只是关了设置里的ssl就没了,但在python程序运行中,一上来发现访问出错requests.原创 2021-11-01 12:53:57 · 140 阅读 · 1 评论 -
史上最细,Charles抓包工具的基本配置、查找接口的方法、爬取中国大学Mooc整门课程
今天给大家分享Charles这个软件,讲解基本配置和接口查询操作,最后用一个中国大学mooc的示例来展示Charles在Windows端的用法。内容丰富,技术要点详细,站里面搜索中国大学MOOC爬虫的不是讲了一半就关注公众号的,还是讲了一点的,或者只有代码的,都没我讲的详细,这就是对抗路的细节,欢迎阅读点赞评论收藏!原创 2021-10-31 20:06:12 · 7269 阅读 · 9 评论 -
重磅!全站首发,新鲜出炉,1024特辑,手把手教你采集 高德地图 搜索结果,获取全国海底捞信息并可视化
这一篇讲如何用简单的工具获取高德地图的搜索结果数据,并做基本的可视化分析这里以海底捞为示例,希望大家有所收获原创 2021-10-24 15:29:40 · 2669 阅读 · 16 评论 -
小白也能轻松上手selenium,无忧获取淘宝商品信息,献给手把手教的会的你
本文在python环境下使用selenium库,利用浏览器模拟来采集淘宝指定搜索关键字的商品数据,内容丰富,一看就会,一学就能上手,一拷贝就能自己用起来,举一反三!原创 2021-10-21 22:23:13 · 4974 阅读 · 1 评论 -
2021-09-29 python中curl的使用和curl的语法
本文主要写curl的用法安装的话根据正常的系统提供的方法安装,ubuntu就是apt install,centos就是yum install这里演示在windows下的Pycharm演示执行命令的内置方法第一种是用os的popen方法,不仅可以获取结果,还可以用readlines或者read方法 储存结果,在 linux中效果比较好,在windows中因为编码的问题无法显示,如果大家有办法解决,记得给我 留言哦import osxx=os.popen('curl www.baidu.com').原创 2021-09-29 15:25:01 · 7097 阅读 · 2 评论 -
2021-09-23-CR-014 Python爬虫,pyppetter的基本操作
pyppetter的基本操作准备阶段先安装 pyppeteer库导入的名称同库名查看浏览器版本pyppeteer.__chromium_revision__查看浏览器存储路径pyppeteer.executablePath()简单示例from pyppeteer import launchimport asyncioasync def main(): browser =await launch(headless=False, args=['--disable-info原创 2021-09-23 21:35:24 · 811 阅读 · 2 评论 -
2021-09-18-CR-013 Python 爬虫,使用selenium做自动化测试
selenium使用安装selenium可使用pip install selenium。配置浏览器先安装Google浏览器和相应的驱动Google浏览器百度搜索下载驱动在这里,下载对应对的浏览器版本,差不多的版本http://chromedriver.storage.googleapis.com/index.html驱动下载好以后拷贝到浏览器安装目录(chrome.exe所在位置)和python安装 目录(python.exe所在位置)即可如果是安装的浏览器,一般不需要设置浏览器的环境变量,原创 2021-09-18 13:24:53 · 332 阅读 · 2 评论 -
2021-09-02-CR-012 Python爬虫 用requests带参数的方式获取网课媒体文件
这里下载极客时间网站的免费音频先分析网页数据结构与算法之美https://time.geekbang.org/column/intro/126点进去第一个可以看到都有个article的数据,数据里有一个data,data中有个audio_download_url,是个MP3这里可以直接拷贝到浏览器,确定就是这个课程这一节的音频,我们的目标就找到了,就是这个东西这个可以看到是请求的路径,并非上面的网址参数在下面因为需要登录,所以封装自己的请求头抄浏览器的一长串,里面的cookie原创 2021-09-08 20:18:49 · 546 阅读 · 2 评论 -
2021-09-02-CR-011 Python爬虫 使用异步的方式爬取数据,每天一个爬虫小技巧
这里持续改进前几节原有的代码异步的 使用异步就是指的程序在运行过程中的步骤是不同步的,后面的与前面的可以不按照顺序结束,互相之间是不干涉的这里需要导入asyncio库并将函数加上 异步前缀修改主函数的代码即可主函数里面构建任务列表,并 运行异步任务import asyncioimport codecsimport multiprocessingfrom concurrent.futures import ThreadPoolExecutorimport requests,refrom原创 2021-09-02 09:01:11 · 243 阅读 · 2 评论 -
2021-09-01-CR-010 Python 爬虫 使用进程与进程池实现
这里再接着上一节的内容,用进程和进程池来爬取多核电脑在这里就还有更大优势了,我的电脑就双核 ,所以并不明显简单进程if __name__ == '__main__': url = 'http://www.xiladaili.com/gaoni/{}/' for i in range(1,1000): p = multiprocessing.Process(target=cr, args=(url.format(i),)) p.start()这里只是原创 2021-09-01 20:42:12 · 166 阅读 · 1 评论 -
2021-09-01-CR-009 Python爬虫 使用进程池辅助爬取
使用线程池来爬取数据依旧是前面那个爬取代理服务器列表的任务和上节的结尾限制线程数的操作效果几乎一致import codecsfrom concurrent.futures import ThreadPoolExecutorimport requests,refrom bs4 import BeautifulSoup as bfsheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36(KH原创 2021-09-01 19:54:12 · 237 阅读 · 0 评论 -
2021-08-31-CR-008Python爬虫 用多线程的方式获取网页数据
用多线程去实现代理服务器列表的获取参考006节这里用多线程去实现import reimport timeimport requestsfrom bs4 import BeautifulSoup as bfsimport codecsimport csvf = codecs.open('daili.csv','a','gbk')w = csv.writer(f)w.writerow(["IP",'协议'])import threadingdef cr(url):原创 2021-08-31 20:55:32 · 291 阅读 · 3 评论 -
2021-08-31-CR-007 Python 爬虫,动态变更浏览器用户代理,给与随机的访问延迟,每天一个爬虫小技巧
爬虫中浏览器UA与访问随机延迟的模拟前面在requests库的使用中,模拟了headers其中有一项是user-agentheaders = {"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36(KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36"}Google浏览器显示的就这么多,火狐还能更多点其中Windows NT 是指的用户操作系统Ch原创 2021-08-31 15:24:21 · 531 阅读 · 2 评论 -
2021-08-30-CR-006 Python爬虫 使用requests和BeautifulSoup爬取网站上的代理服务器列表,每天一个爬虫小技巧
这里爬取西拉代理的高匿服务器列表先分析页面的格式这里可以看出来页面的第几页就是链接后面加数字和斜杠然后测试下第一页也是可以的,2000页就是一个循环即可调整url需要的数据在网页源代码的table里面,用BeautifulSoup即可选择 出来代码:import codecsimport reimport requestsfrom bs4 import BeautifulSoup as bfsimport csv#T1f = codecs.open('daili.csv原创 2021-08-30 15:00:22 · 323 阅读 · 7 评论 -
2021-08-28-CR-005 Python 爬虫-使用requests+BeautifulSoup4解析网页
使用requests库和BeautifulSoup4解析网页锁定的目标是精美图片的大图链接#T1from bs4 import BeautifulSoup as bsimport requestshtml=requests.get('https://pic.netbian.com/4kdongwu/').text#T2soup=bs(html,'lxml')# print(soup)xx=soup.div.next_siblingscount=0for i in xx:原创 2021-08-28 19:10:22 · 219 阅读 · 0 评论 -
2021-08-28-CR-004 Python爬虫 用requests和lxml 解析网页,获取精美图片的链接
这个可以看做是前面两节002和003 的另外一种获取和解析数据的方法import requestsre=requests.get('https://pic.netbian.com/4kdongwu/').textfrom lxml import etreehtml = etree.HTML(re)result = etree.tostring(html)li=html.xpath('//div[@class="slist"]//li')addrlist=[]for i in li:原创 2021-08-28 12:10:45 · 364 阅读 · 0 评论 -
2021-08-27-CR-003 Python爬虫 用pyquery和urllib3 爬取精美图片
用pyquery和urllib3 爬取精美图片from pyquery import PyQuery as pqimport urllib3headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.61 Safari/537.36'}http = urllib3.PoolManager()doc=pq原创 2021-08-27 21:38:59 · 218 阅读 · 4 评论 -
2021-08-27-CR-002Python爬虫,用pyquery + urllib.request下载图片
爬虫下载精美图片测试网站为:https://pic.netbian.com/4kdongwu/from pyquery import PyQuery as pqimport urllib.request as urqimport urllib.responseheaders = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4原创 2021-08-27 21:35:46 · 187 阅读 · 0 评论 -
2021-08-22-CR-001Python爬虫,用socket下载页面
本节实现用socket下载固定页面原创 2021-08-22 20:32:27 · 248 阅读 · 0 评论