分享好友 最新动态首页 最新动态分类 切换频道
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文件后追加一项:

 

最新文章
高人气电影院指南
另类体验大家也别忘了关注洛叔叔小红书哦!小红书|西班牙洛叔叔新浪微博|欧洲生活研究所Europe  我们有不同地区的群欢迎大家来玩!在西班牙生活,所有你关心的,我们都研究!193篇原创内容公众号   点在看 让我离你近一点     
提示msvcr100.dll丢失的解决方法,6个简单有效的解决方法
在计算机使用过程中,我们常常会遇到各种各样的问题,其中一种常见的问题是系统或软件运行时提示“找不到msvcr100.dll”或“msvcr100.dll丢失”。这个问题通常发生在安装了Visual C++ Redistributable for Visual Stud
微三云专业团队,为您量身打造鸿蒙元服务系统!微三云
微三云专业团队,为您量身打造鸿蒙元服务系统!微三云前文引言:微三云运营分享:运营中可以采用“爆款+低价”的模式,一方面通过低价低价的方式吸引 大量用户,一方面采用微信社交裂变的方式扩大用户规模。同时结合热销的模式,去中心 化
新手seo优化流程
1、网站优化基本流程5.网站优化网站优化具体操作具体操作4.了解了解竞争对手竞争对手 3定位目标定位目标关键词关键词 2.关键词关键词分析分析 1.网站分析网站分析 新网站新网站1. 网站分析2. 关键词分析3. 定位目标关键词4. 了解竞争对手5.
零食网站模板_零食网站模板图片
零食网站模板_零食网站模板图片在这个数字化的时代,零食网站模板的更新速度越来越快。今天,我将和大家分享关于零食网站模板的今日更新,让我们一起跟上时代的步伐。文章目录列表:1.大学生,想做一个网站,就在学校买小零食什么的,就大神
负债60万如何走出困境
小编导语在现代社会中,负债已经成为许多人生活的一部分。无论是因为购房、购车、教育费用还是其他原因,负债在一定程度上反映了我们的生活水平和经济压力。面对60万的负债,很多人可能会感到无助和绝望,但其实,只要采取正确的 和策略,
抖音tiktok如何生成短链接,2023最好用的短链生成器
抖音tiktok运营神器来了,大家都知道tiktok是一个比较开放的平台,那它账号底下是可以挂外链的,所以有一些眼睛比较尖的小伙伴会发现,为什么有一些账号它底下的一个链接很短呢?这个短链接是怎么生成的?又有什么好处呢?为什么我们自己的
揭秘高效百度收录网站的秘密,如何打造百度收录好网站,打造百度高效收录网站秘籍大揭秘,百度高效收录网站秘籍大公开
高效百度收录网站关键在于优化内容和结构,提升用户体验。本文揭秘打造百度高效收录网站的秘籍,从内容原创性、关键词布局、网站结构优化等方面入手,助你轻松实现网站百度收录。打造百度收录卓越网站的关键策略要实现百度的高效收录,以下
工业设计专业排名最高的大学有哪些
今天国际学校信息网小编整理了工业设计专业排名最高的大学有哪些相关信息,希望在这方面能够更好的大家。1、qs艺术设计世界大学排名2、qs世界大学艺术与设计专业排名3、工业设计专业排名最高的大学有哪些 1.皇家艺术学院。2.伦敦艺术大学。
昆明到三明物流公司/南祥货运专线多长时间/省市县「免费上门
包装服务:据物流行业研究数据显示:货物运输破损,47.5%的原因是因为包装不当。根据货物类别和需要, 振权物流为您提供专业包装服务,解决您的货物运输安全隐患。昆明地区2小时上门取货区域:昆明
相关文章
推荐文章
发表评论
0评