这篇文章涉及到的网站,是下面这段代码运行的结果:
if __name__ == '__main__':
num = 108
print("%s%d+1"%(int(str(num)[-2:][::-1])>>3,(num>>4<<2)-1))
不知道大家是否还有印象,之前皮爷写过一篇『【Python实战】用Scrapy编写“xxxxx子吞噬爬虫”』(全网搜索应该可以搜得到)的文章,广受好评,大家也纷纷拿去学习。不知道跑过代码的同学发现没有,在那个代码里面,下载图片和种子的时候,速度很慢很慢。效率不是很高。
经过长期的磨练,皮爷这期专门为大家带来一篇Python爬虫框架Scrapy的高阶骚操作,和市面上97%的爬虫文章绝对不同,因为这篇文章,属于版本迭代的产物,相当于『种子吞噬器v2.0』熟悉开发的同学肯定明白迭代的意义,运行效率更高,实现更多新的好用的特性。不管怎么说,看完这篇文章,你将会:
- 熟悉Scrapy的基本操作
- 掌握Scrapy的高阶骚操作
- 学会拿着Scrapy的FilesPipeline来搞事情
- 会使用Python来发Email
- 以及在服务器上面部署爬虫的小知识点
- 当别人留下邮箱说好人一生平安的时候,你知道怎么做了
总而言之,这篇文章给你讲述的,不是一段代码,也不是一个工程,而是一个项目,从前到后,从上到下,从开发到部署,完完整整的项目讲解。而且,项目的实现思想,可能是有些人曾经的想法,他们想过,但是不知从何下手,最后就放弃了,别慌,皮爷为你们一一实现。
看皮爷的文章,要知道皮爷讲的都是项目开发的思路,而不是项目本身。因为项目代码是死的,而你的思维方式是活的。
-----插播福利------
马上就正月十五了,还不赶紧用六十四卦摇一摇啊?看看运势如何啊~

福利就要写在最前面:
过大年了,大家是不是又有了压岁钱了啊??啊哈哈哈哈,压岁钱买糖吃还不如投资到自己身上。比如用来买课程,或者用来买服务器,来学习编程,写爬虫。来买服务器啊买服务器啊!只在本地跑,根本没用的!恰巧,皮爷这里就有上千元的阿里云和腾讯云的优惠券给你使用(每一款优惠只要点击优惠链接,进入即可领取):
阿里云部分:
【阿里云新人1888元云产品通用代金券】:
https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=nrkmbo9q
【阿里云爆款云主机,2折优惠券】:
https://promotion.aliyun.com/ntms/act/qwbk.html?userCode=nrkmbo9q
【阿里云企业级服务器2折优惠券】:
https://promotion.aliyun.com/ntms/act/enterprise-discount.html?userCode=nrkmbo9q
腾讯云:
【新客户无门槛领取总价值高达2775元代金券,每种代金券限量500张,先到先得】:
https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=b351b2fc50b15866ff9d19b58a5df0f5&from=console
【腾讯云服务器、云数据库特惠,3折优惠券】:
https://cloud.tencent.com/redirect.php?redirect=1014&cps_key=b351b2fc50b15866ff9d19b58a5df0f5&from=console
--接下来是正文--
废话不多说,快来看看我们这次迭代的东西到底是什么。
INTROCDUCTION
我们还是来拿Scrapy爬1024社区,主要就是爬那几个有下载链接的版块。
# settings.py文件中
BLOCK_INFO = {
15: "亚洲骠骑大将军",
2: "黄皮肤的马前卒",
25: "国内摄影师",
4: "国外摄影师",
26: "中文原创"
}
针对每一个板块的每一个帖子,里面有下载种子的地址,一般还有配图,我们可以把这些图片和种子一起下载下来,保存到本地。
同时也可以将下载下来的图片和种子,通过邮件的形式发送到指定邮箱里面。
整个项目思路条理清晰:爬取,分析,下载,保存,发送。但是我们可以玩出一些花活儿。比如,我通过Scrapyd可以将爬虫部署到服务器上面,这样就可以定时定点去爬,然后可以将结果情况发送到邮箱里,方便管理员管理查看。
HOW TO USE
先来说一说使用说明,源码在Github上已经共享出来了,之前关注过我Github的小伙伴可以在上面找到,项目叫『SESpider1024』,不知道地址的小伙伴没关系,关注微信公众号『皮爷撸码』,回复『代码』即可获取下载地址。
将工程git到本地之后,推荐用PyCharm打开,在跑程序之前,需要在setting.py
里面下面的这些变量设置一下:
ROOT_URL = "https://XX.XXXX.XX/" # 这里需要更新到最新的地址
# 这里是用126邮箱做例子,并不局限126邮箱
SMTP_HOST = "smtp.126.com" # 发送邮件的smtp服务器
SMTP_USER = "XXXXXX@126.com" # 用于登录smtp服务器的用户名,也就是发送者的邮箱
SMTP_PWD = "XXXXXXX" # 授权码,和用户名user一起,用于登录smtp, 非邮箱密码
SMTP_PORT = 25 # smtp服务器SSL端口号,默认是465,具体是什么,网上一搜邮箱域名和他的smtp就知道了
SMTP_SENDER = "XXXXXX@126.com" # 发送方的邮箱
SMTP_TO_LIST = ["YYYYYY@126.com", "ZZZZZZ@126.com"] # 发送目标邮箱地址,是个list
设置成功之后,直接运行/Email1024/Run.py
文件即可。
这里会涉及到发邮件的问题,这里皮爷要多说一点,可能有的小伙伴不知道这个是什么,所以这里皮爷手把手的来叫你们如何打开你们邮箱的SMTP设置。
皮爷这里就以126邮箱为例,其实邮箱都差不多的,万变不离其宗。
注册邮箱的过程,我就不多说了,这个应该大家都会的。
然后登录邮箱,在最上面一行找到『设置
』,选择『POP3/SMTP/IMAP
』:

网友评论