Spider-爬虫
文章平均质量分 62
在实战项目中总结的知识
啦啦啦___123
...
展开
-
爬虫进阶 -- 爬虫相关定义、反爬机制及其破解
经历了好几个小爬虫项目的“摧残”,我想着不能白做,于是有了这篇文章。什么是爬虫和反爬虫爬虫:使用任何技术手段,批量获取网站信息的一种方式。反爬虫:使用任何技术手段,阻止别人批量获取自己网站信息的一种方式。Headers相关概念原创 2021-08-18 21:22:31 · 1783 阅读 · 9 评论 -
Selenium爬虫 -- 图片视频的src绝对地址链接分析
爬取**的时候,每次爬取图片都要转到mbasic.**网站,这样极容易被检测封号。然后我发现在检查***的元素的时候,图片和视频的链接都藏在了元素的style元素中。思路:定位多媒体元素 -> 获取src属性 -> 截取http网址 -> 对网址进行分析替换 -> 爬取多媒体资源网址中有些反复出现的\3a、\3d、\26等字符串,猜测可能是连接符之类的保密替换。查询资料发现是网址URL中的特殊字符转义编码。对照表:字符 - URL编码值空...原创 2020-10-12 22:57:11 · 2566 阅读 · 0 评论 -
爬虫封号解决 -- Win10系统如何修改网卡的物理地址(MAC)
现在各大需要登录状态才能查看信息的网站,比如脸书、领英等,尽管没有明说,但是都会在后台对你的设备进行记录,可能就是通过MAC地址来拉黑某些“恶意用户”的。所以,这篇博客来说一说关于网卡MAC的修改。网卡的信息可以通过电脑管家查看硬件来看,也可以命令行输入【ipconfig /all】来查看,就笔记本来说,一般会有两个物理网卡,一个PCI的主板有线网卡,一个无线网卡连接WLAN的。别的虚拟网卡不要管,那是些虚拟环境之类的软件设置的。原创 2020-10-24 13:38:33 · 1277 阅读 · 0 评论 -
Selenium爬虫 -- 无界面爬取:无头模式及其他参数
chrome_options = Options()chrome_options.add_argument('--no-sandbox') #解决DevToolsActivePort文件不存在的报错chrome_options.add_argument('window-size=1920x3000') #指定浏览器分辨率chrome_options.add_argument('--disable-gpu') #谷歌文档提到需要加上这个属性来规避bugchrome_options.add_arg.原创 2020-10-05 20:07:05 · 1630 阅读 · 0 评论 -
Python爬取图片时,urllib提示没有属性urlretrieve的问题
在开发***爬虫的时候,图片的爬取我选择了拼接url进入mbasic.***网站,然后根据其中的图片绝对地址爬取,其中最后一步需要用到urllib库。urllib.urlretrieve('pic_src', './pic_directory')但是在运行爬虫测试的时候出错了。AttributeError: module 'urllib' has no attribute 'urlretrieve'经过查找博客发现问题所在:Python版本不同,有很多库的调用方式不同。# Pytho原创 2020-08-29 19:38:04 · 2778 阅读 · 0 评论 -
Selenium爬虫 -- 使用Selenium爬取数据时,网页切换之后原先获取的元素变量失效的问题
如题,在使用Selenium爬取***的数据时,有的帖子是有图片的,而主页是没法直接获取图片的,只能点击进入详情页面,并且还得进其他网站才能获取图片的绝对地址来下载。而采集完之后,使用back方法回到主页后,也就是经过网页切换之后,原先在主页获取的元素变量articles就失效了,不能再继续从中提取article来处理下一个帖子,而是会直接结束循环。articles = self.browser.find_elements_by_xpath('//article[@class="_55wo _5r原创 2020-08-29 23:43:41 · 1919 阅读 · 0 评论 -
Selenium爬虫 -- WebDriver多标签页创建与切换
多窗口爬取**容易被封号,于是改为多标签页爬取。涉及操作有:新建标签页、切换标签页等。self.browser1 = webdriver.Chrome()self.browser1.get('https://blog.csdn.net/hhr603894090')# 获取当前标签页1的句柄handle = self.browser1.current_window_handleprint('tab1: ' + handle)# 新开一个标签页2self.browser1.execut原创 2020-10-12 22:27:16 · 2551 阅读 · 0 评论 -
Selenium爬虫 -- 操控滚动条方法
大致分为三种,一是整个网页的滚动条,二是页面中某个div块的滚动条,三是网页的弹出框的滚动条。步骤就是先定位,再拖动,利用js脚本来进行。原创 2021-01-12 10:03:46 · 1093 阅读 · 0 评论 -
Selenium爬虫 -- 元素点击与定位的稳定方式
爬虫开发中免不了有定位难题和按钮点击拦截,我在本篇文章中总结问题,并给出目前我的解决方案。目录问题一:定位不稳定,时而有时而无问题二:点击按钮无效,被拦截等原因问题三:for循环的定位问题,不能顺利定位下一个大元素中的小元素问题一:定位不稳定,时而有时而无xpath的定位方式确实好用,但是定位字符串的编写也是门技术活。解决方法:绝对路径、相对路径、树形、属性寻找等,这些的示例为:# 树形文本结构寻找,绝对路径,最不稳定articles = browser1.find..原创 2021-01-11 16:12:51 · 1098 阅读 · 0 评论 -
Selenium爬虫 -- Pyhton进阶:使用cookie登陆某网站
今天下午运行着爬虫就出门了一趟,等回来后发现早就运行完了,仔细一看输出的信息原来是遇到了领英的登录异常检查,需要输入安全验证代码。想想也确实应该被检测到了,每次运行爬虫的时候都是一个新的浏览器,然后重新登陆,几天之内我登录了好多次,正常人应该不会,所以我决定这次学一下cookie登陆。大致思想很简单:先手动在selenium中输入代码登录到个人空间,然后获取页面的cookie保存起来。然后就可以使用这个cookie来登录了,也不会被发现原创 2021-02-08 19:45:52 · 400 阅读 · 3 评论