分享好友 最新动态首页 最新动态分类 切换频道
2017.08.10 Python爬虫实战之爬虫攻防
2024-12-26 22:42

1.创建一般的爬虫:一般来说,小于100次访问的爬虫都无须为此担心

(1)以爬取美剧天堂为例,来源网页:http://www.meijutt.com/new100.html,项目准备:

scrapy startproject meiju100

F:PythonPythonWebScrapingPythonScrapyProject>cd meiju100

F:PythonPythonWebScrapingPythonScrapyProjectmeiju100>scrapy genspider meiju100Spider meijutt.com

项目文件结构:

 

 (2)修改items.py文件:

(3)修改meiju100Spider.py文件:

先检查网页源代码:发现<div class="lasted-num fn-left">开头的标签,包含所需数据:

 

# -*- coding: utf-8 -*-
import scrapy
from meiju100.items import Meiju100Item

class Meiju100spiderSpider(scrapy.Spider):
name = 'meiju100Spider'
allowed_domains = ['meijutt.com']
start_urls = (
'http://www.meijutt.com/new100.html'
)

def parse(self, response):
subSelector=response.xpath('//li/div[@class="lasted-num fn-left"]')
items=[]
for sub in subSelector:
item=Meiju100Item()
item['storyName']=sub.xpath('https://www.cnblogs.com/hqutcy/h5/a/text()').extract()[0]
item['storyState']=sub.xpath('https://www.cnblogs.com/hqutcy/span[@class="state1 new100state1"]/text()').extract()[0]
item['tvStation']=sub.xpath('https://www.cnblogs.com/hqutcy/span[@class="mjtv"]/text()').extract()
item['updateTime']=sub.xpath('//div[@class="lasted-time new100time fn-right"]/text()').extract()[0] //运行报错:IndexError: list index out of range,<div
items.append(item)

return items


 (4)编写pipelinses.py文件,保存爬取的数据到文件夹:

# -*- coding: utf-8 -*-

# Define your item pipelines here
#
# Don't forget to add your pipeline to the ITEM_PIPELINES setting
# See: http://doc.scrapy.org/en/latest/topics/item-pipeline.html
import time

class Meiju100Pipeline(object):
def process_item(self, item, spider):
today=time.strftime('%Y%m%d',time.localtime())
fileName=today+'meiju.txt'
with open(fileName,'a') as fp:
fp.write("%s " %(item['storyName'].encode('utf8')))
fp.write("%s " %(item['storyState'].encode('utf8')))
if len(item['tvStation'])==0:
fp.write("unknow ")
else:
fp.write("%s " %(item['tvStation'][0]).encode('utf8'))
fp.write("%s " %(item['updateTime'].encode('utf8')))

return item

(5)修改settings.py文件:

(6)在meiju项目下任意目录下,运行命令:scrapy crawl meiju100Spider

运行结果:

 

2.封锁间隔时间破解:Scrapy在两次请求之间的时间设置DOWNLOAD_DELAY,如果不考虑反爬虫的因素,这个值当然是越小越好,

如果把DOWNLOAD_DELAY的值设置为0.1,也就是每0.1秒向网站请求一次网页。

所以,需要在settings.py的尾部追加这一项即可:

 

 3.封锁Cookies破解:总所周知,网站是通过Cookies来确定用户身份的,Scrapy爬虫在爬取数据时使用同一个Cookies发送请求,这种做法和把DOWNLOAD_DELAY设置为0.1没什么区别。

所以,要破解这种原理的反爬虫也很简单,直接禁用Cookies就可以了,在Setting.py文件后追加一项:

 

最新文章
谷歌ADS广告
为什么选择谷歌ADS推广?Google 是国际搜索引擎No.1,覆盖150多个国家地区,外贸推广效果立竿见影!用户有需求才会有搜索,有搜索才会有成交的可能,一个合适的广告可以将用户变成有价值的客户!精准地域定向,快速找到目标客户群体,让产
seo常用术语大全 SEO术语宝典:掌握关键词,引爆新媒体流量
在当今数字化时代,搜索引擎优化(SEO)已成为企业在线成功的关键驱动力它不仅关乎于网站的排名,更是品牌曝光、用户获取与转化的重要途径为了深入掌握SEO这门艺术,我们有必要全面了解并熟练运用其常用术语以下是一篇关于“SEO常用术语大
漫蛙2app下载官方正版免费最新
漫蛙2app下载官方正版是一款实用的漫画阅读软件!漫蛙2app为广大喜欢看漫画的朋友们提供了便捷、快乐的二次元世界。丰富齐全的漫画资源分类、强大的搜索功能、每日更新的新资源以及简洁易用的界面设计,都使得漫蛙2成为了众多漫画爱好者的
越学越爽!学习比游戏还爽个100倍?!学会这些高效学习方法论,让你效率暴涨...
一学习前要提早半天做充足准备(科学准备)A增加学习的沉没成本1用损失规避心理,让身体动起来2方法a通过前几天的学习,增加成本1)连续打卡获得奖励2)补打卡机制3)提前感知成本,不学巨亏b通过金钱,增加成本c通过热身运动,增加成本(
酷狗浏览器下载及体验指南,下载、安装与使用详解
酷狗浏览器下载、体验与使用指南摘要:,,下载酷狗浏览器,轻松开启你的上网之旅。本浏览器提供简洁的界面设计,丰富的功能特性,让你在浏览网页时享受顺畅的体验。下载过程简单快捷,安装步骤明确。体验方面,酷狗浏览器具备快速浏览、智
传音 Phantom V Flip 2 评测:创新亮点抢先看
我是 80 年代的孩子,这意味着我伴着像电子宠物、经典复古游戏机,当然还有翻盖手机这类科技产品长大的。所以,当可折叠智能手机进入市场时,你得相信,至少在一定程度上,我对翻盖手机的回归感到兴奋。我喜欢三星的Galaxy Z Flip 系列,但
探索网络爬虫的5种数据获取方式,让你的数据分析更高效!
在当今信息爆炸的时代,获取准确、大量的数据对于决策和分析至关重要。而网络爬虫作为一种高效的数据获取工具,正在被越来越多的人所关注和应用。在本文中,我将与大家分享网络爬虫的5种数据获取方式,帮助你在数
输血自我总结范文
大三已经结束咯,时间过的真快啊!我将成为一个大四的学生,总觉得时间来的太快,我还没准备好。现在的我能做些什么,对未来一无所知,充满了迷茫,有的时候觉得我的人生真迷茫,至少从出生到现在是这样子的。我不知道当我对我的生活很迷茫
破解版游戏盒子大全内购破解无限版-破解版游戏盒子大全-破解版手游app平台
第 18 楼 河北石家庄联通客人 发表于: 2023/11/24 1:58:10 谁有地铁跑酷破解版 支持( 22 ) 盖楼(回复) 第 17 楼 广西移动数据上网公共出口客人 发表于: 2023/11/18 12:07:36 谁有皇上吉祥2破解版的? 支持( 10 ) 盖楼(回复) 第 16 楼 广东
雷克萨斯 LS430 之卓越性能表现
  绵延不绝的动力表现,趋近完美的极限  最尖端的科技和性能表现  无与伦比的制造质量  发动机  车主在驾驶 LS430 时会惊奇地发现,动力输出可任意支配,游刃有余。LS430 采用4.3 升4 凸轮32 气门全铝V8 发动机, 它在每分钟 560
相关文章
推荐文章
发表评论
0评