实战爬取Plati官网游戏实时最低价格-Python
- 需要修改url中的id_r="这个”,这个id需要从Battlefield V (plati.ru)中获取,其实也是这个链接中的#s24235。
- 配合了e-mail推送,其实这个e-mail推送可以利用邮箱的短信提醒来达成发送信息到手机号的目的,主要的还是get_rmb(),直接上代码吧。
1 #!/usr/bin/python
2 # -*- coding: UTF-8 -*-
3 import requests
4 import sys
5 import re
6 import json
7 import smtplib
8
9
10 ##############################配置###############################
11 FROM = '' #发送者邮箱
12 PASSWORD = '' #邮箱授权密码
13 TO = '' #接收者邮箱
14 HOST = 'smtp.163.com' #SMTP服务器
15 PORT = '465' #SMTP服务器SSL端口
16 #################################################################
17
18 #############################发送邮件##############################
19 def sent_email(theme,context):
20 try:
21 smtpObj = smtplib.SMTP_SSL(HOST, PORT)
22 smtpObj.login(FROM, PASSWORD)
23 msg = '\n'.join(['From: {}'.format(FROM), 'To: {}'.format(TO), 'Subject: {}'.format(theme), '', context])
24 smtpObj.sendmail(FROM, TO, msg=msg.encode('utf-8'))
25 print("邮件发送成功")
26
27 except smtplib.SMTPException:
28 print("Error: 无法发送邮件")
29 #################################################################
30
31 #############################代码区###############################
32 def get_rmb(url):
33 try:
34 headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36 Edg/92.0.902.55"}
35 html = requests.get(url, headers=headers)
36 html.encoding = 'utf-8-sig'
37 RUB = re.search(r'product-price-inner"><div>(.*?)<span>,',html.text).group(1)
38 RMB = "%.1f"%(int(RUB)/12.7)
39 return RMB
40 except:
41 print("获取id和name失败")
42 sys.exit()
43
44
45
46 url1 = "https://plati.ru/asp/block_goods_r.asp?id_r=23833&sort=price&page=1&rows=20&curr=RUB" #战地1
47 url2 = "https://plati.ru/asp/block_goods_r.asp?id_r=24235&sort=price&page=1&rows=20&curr=RUB" #战地5
48 RMB1 = get_rmb(url1)
49 RMB2 = get_rmb(url2)
50 sent_email(theme="战地Ⅴ-" + RMB2 + "元",context="战地1-" + RMB1 + "元")
实战爬取Plati官网游戏实时最低价格-Python的更多相关文章
- Go语言实战-爬取校花网图片
一.目标网站分析 爬取校花网http://www.xiaohuar.com/大学校花所有图片. 经过分析,所有图片分为四个页面,http://www.xiaohuar.com/list-1-0.htm ...
- 爬虫之爬取斗鱼官网LOL部分主播的状态
一个爬虫小程序 爬取主播的排名及观看人数 import re import requests import request class Spider(): url = 'https://www.dou ...
- scrapy实验1 爬取中国人寿官网新闻,保存为xml
一.scrapy 实验 爬中国人寿新闻,保存为xml 如需转发,请注明出处:小婷儿的python https://www.cnblogs.com/xxtalhr/p/10517297.html 链 ...
- 第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解
第三百三十节,web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解 封装模块 #!/usr/bin/env python # -*- coding: utf- ...
- 九 web爬虫讲解2—urllib库爬虫—实战爬取搜狗微信公众号—抓包软件安装Fiddler4讲解
封装模块 #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib from urllib import request import j ...
- Scrapy实战篇(一)之爬取链家网成交房源数据(上)
今天,我们就以链家网南京地区为例,来学习爬取链家网的成交房源数据. 这里推荐使用火狐浏览器,并且安装firebug和firepath两款插件,你会发现,这两款插件会给我们后续的数据提取带来很大的方便. ...
- Python Scrapy 爬取煎蛋网妹子图实例(一)
前面介绍了爬虫框架的一个实例,那个比较简单,这里在介绍一个实例 爬取 煎蛋网 妹子图,遗憾的是 上周煎蛋网还有妹子图了,但是这周妹子图变成了 随手拍, 不过没关系,我们爬图的目的是为了加强实战应用,管 ...
- 简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息
简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息 简单的scrapy实战:爬取腾讯招聘北京地区的相关招聘信息 系统环境:Fedora22(昨天已安装scrapy环境) 爬取的开始URL:ht ...
- 爬取西刺网的免费IP
在写爬虫时,经常需要切换IP,所以很有必要自已在数据维护库中维护一个IP池,这样,就可以在需用的时候随机切换IP,我的方法是爬取西刺网的免费IP,存入数据库中,然后在scrapy 工程中加入tools ...
随机推荐
- 【Java集合】ArrayList源码分析
ArrayList是日常开发中经常使用到的集合,其底层采用数组实现,因此元素按序存放.其优点是可以使用下标来访问元素,时间复杂度是O(1).其缺点是删除和增加操作需要使用System.arraycop ...
- shell 重定向以及文件描述符
1.对重定向的理解 Linux Shell 重定向分为两种,一种输入重定向,一种是输出重定向:从字面上理解,输入输出重定向就是「改变输入与输出的方向」的意思. 输入方向就是数据从哪里流向程序.标准输入 ...
- nginx 基本配置
server { listen 80; server_name 域名; #access_log /var/log/nginx/admin.log; index index.html index.htm ...
- base64文件解码
$str = str_replace(' ', '+', $str); //替换空字符串为+$str = str_replace('\n', '',$str); //置空换行符$str = str_r ...
- jconsole和jstack
1.jconsole jconsole是jdk自带的一个可视化的jvm监控工具,可以监控本地的jvm,也可以监控远程jvm 打开本地jdk安装目录下的bin目录下的jconsole.exe 2.jst ...
- CPU 几核
1.设备管理器:打开"处理器",出现几个就是几核
- dataX windows10安装
按照视频课程,从Github上下载文件:https://github.com/alibaba/DataX 然后将下载的压缩包解压即可,不过需要的前提Python环境是要求python2,于是在pyth ...
- 【011】JavaSE面试题(十一):多线程(1)
第一期:Java面试 - 100题,梳理各大网站优秀面试题.大家可以跟着我一起来刷刷Java理论知识 [011] - JavaSE面试题(十一):多线程(1) 第1问:线程和进程的区别? 进程:具有一 ...
- React 组件间通信 总结
组件间通信 5.1.1. 方式一: 通过props传递 1) 共同的数据放在父组件上, 特有的数据放在自己组件内部(state) 2) 通过props可以传递一般数据和 ...
- ES6 Class类
在ES6中,class (类)作为对象的模板被引入,可以通过 class 关键字定义类.class 的本质是 function.它可以看作一个语法糖,让对象原型的写法更加清晰.更像面向对象编程的语法类 ...