圆月山庄资源网 Design By www.vgjia.com
在找寻材料的时候,会看到一些暂时用不到但是内容不错的网页,就这样关闭未免浪费掉了,下次也不一定能再次搜索到。有些小伙伴会提出可以保存网页链接,但这种基本的做法并不能在网页打不开后还能看到内容。我们完全可以用爬虫获取这方面的数据,不过操作过程中会遇到一些阻拦,今天小编就教大家用sleep间隔进行python反爬虫,这样就可以得到我们想到的数据啦。
步骤
要利用headers拉动请求,模拟成浏览器去访问网站,跳过最简单的反爬虫机制。
获取网页内容,保存在一个字符串content中。
构造正则表达式,从content中匹配关键词pattern获取下载链接。需要注意的是,网页中的关键词出现了两遍(如下图),所以我们要利用set()函数清除重复元素。
第三步是遍历set之后的结果,下载链接。
设置time.sleep(t),无sleep间隔的话,网站认定这种行为是攻击,所以我们隔一段时间下载一个,反反爬虫。
具体代码
import urllib.request# url request import re # regular expression import os # dirs import time ''' url 下载网址 pattern 正则化的匹配关键词 Directory 下载目录 def BatchDownload(url,pattern,Directory): # 拉动请求,模拟成浏览器去访问网站->跳过反爬虫机制 headers = {'User-Agent', 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36'} opener = urllib.request.build_opener() opener.addheaders = [headers] # 获取网页内容 content = opener.open(url).read().decode('utf8') # 构造正则表达式,从content中匹配关键词pattern raw_hrefs = re.findall(pattern, content, 0) # set函数消除重复元素 hset = set(raw_hrefs) # 下载链接 for href in hset: # 之所以if else 是为了区别只有一个链接的特别情况 if(len(hset)>1): link = url + href[0] filename = os.path.join(Directory, href[0]) print("正在下载",filename) urllib.request.urlretrieve(link, filename) print("成功下载!") else: link = url +href filename = os.path.join(Directory, href) # 无sleep间隔,网站认定这种行为是攻击,反反爬虫 time.sleep(1) #BatchDownload('https://www1.ncdc.noaa.gov/pub/data/swdi/stormevents/csvfiles/', # '(Storm-Data-Export-Format.docx)', # 'E:\stormevents\csvfiles') # '(Storm-Data-Export-Format.pdf)', # '(StormEvents_details-ftp_v1.0_d(\d*)_c(\d*).csv.gz)', # '(StormEvents_fatalities-ftp_v1.0_d(\d*)_c(\d*).csv.gz)', # '(StormEvents_locations-ftp_v1.0_d(\d*)_c(\d*).csv.gz)', #BatchDownload('https://www1.ncdc.noaa.gov/pub/data/swdi/stormevents/csvfiles/legacy/', # '(ugc_areas.csv)', # 'E:\stormevents\csvfiles\legacy')
结果展示
为了让大家能够清楚的知道整个反爬过程,这里小编把思路和代码都罗列了出来。其中可以time.sleep(t)解除网站对于爬虫的阻拦问题,着重标记了出来
标签:
sleep,python,反爬虫
圆月山庄资源网 Design By www.vgjia.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
圆月山庄资源网 Design By www.vgjia.com
暂无评论...
更新日志
2024年11月01日
2024年11月01日
- 孟庭苇《情人的眼泪》开盘母带[低速原抓WAV+CUE]
- 孙露《谁为我停留HQCD》[低速原抓WAV+CUE][1.1G]
- 孙悦《时光音乐会》纯银CD[低速原抓WAV+CUE][1.1G]
- 任然《渐晚》[FLAC/分轨][72.32MB]
- 英雄联盟新英雄安蓓萨上线了吗 新英雄安蓓萨技能介绍
- 魔兽世界奥杜尔竞速赛什么时候开启 奥杜尔竞速赛开启时间介绍
- 无畏契约CGRS准星代码多少 CGRS准星代码分享一览
- 张靓颖.2012-倾听【少城时代】【WAV+CUE】
- 游鸿明.1999-五月的雪【大宇国际】【WAV+CUE】
- 曹方.2005-遇见我【钛友文化】【WAV+CUE】
- Unity6引擎上线:稳定性提升、CPU性能最高提升4倍
- 人皇Sky今日举行婚礼!电竞传奇步入新篇章
- 国风与电竞的奇妙邂逅 “电竞北京2024·国风电竞奇妙夜”引领文化新潮流
- 群星《辉煌滚石30男人篇》开盘母带[低速原抓WAV+CUE]
- 群星《藏迷情歌》紫银合金AQCD[低速原抓WAV+CUE]