使用python爬取亚马逊商品switch到货通知、价格,并发送email通知

news/2024/7/19 12:44:11 标签: 爬虫, python, 亚马逊, switch
python">#!/usr/bin/env python
# coding: utf-8

# In[2]:


import pandas as pd
import requests
from bs4 import BeautifulSoup


flag_ex=0
flag=0



#邮件核心
import smtplib
from email.mime.text import MIMEText
from email.header import Header
def fasong(message,targetmail):


    '''发送邮箱'''
    sender = '***@163.com' #企业263邮箱
    '''接收邮箱'''
    receiver = targetmail
    '''发送邮件主题'''
    subject = '阿阳消息关于switch有货'
    '''发送邮箱服务器'''
    smtpserver = 'smtp.163.com'
    '''发送邮箱用户/密码'''
    username = '***@163.com'
    password = '***'
    '''中文需参数‘utf-8’ ,单字节字符不需要'''
    msg = MIMEText(message,'plain','utf-8')
    msg['Subject'] = Header(subject, 'utf-8')
    msg['From'] = '***<***@163.com>'
    msg['To'] = targetmail
    smtp = smtplib.SMTP()
    smtp.connect('smtp.163.com')
    smtp.login(username, password)
    smtp.sendmail(sender, receiver, msg.as_string())
    smtp.quit()
    print ("Email has been sent out!")   


# In[12]:


#主市场
def am():
    htm=requests.get('http://www.nowinstock.net/videogaming/consoles/nintendoswitch/#')

    htm.encoding='utf-8'
    soup = BeautifulSoup(htm.text)
    thing=soup.select('#tr45408 > td.stockStatus')[0]
    thing.text
    return thing.text



# In[13]:


#日版
def jp():
    url='http://www.nowinstock.net/jp/videogaming/consoles/nintendoswitch/'
    htm=requests.get(url)
    htm.text
    soup = BeautifulSoup(htm.text)
    thing=soup.select('#tr46705 > td.stockStatus')[0]
    thing.text
    return thing.text
#tr45419 > td.stockStatus


# In[25]:


#UK
def uk():
    url='http://www.nowinstock.net/uk/videogaming/consoles/nintendoswitch/'
    htm=requests.get(url)
    htm.text
    soup = BeautifulSoup(htm.text)
    thing=soup.select('#tr45419 > td.stockStatus')[0]
    thing.text
    return thing.text


# In[23]:


url='http://www.nowinstock.net/uk/videogaming/consoles/nintendoswitch/'
htm=requests.get(url)
htm.text
soup = BeautifulSoup(htm.text)
thing=soup.select('#tr45419 > td.stockStatus')[0]
thing.text

#tr45419 > td.stockStatus
#tr45419 > td.stockStatus


# In[ ]:


import time
while True:
    try:
        text0=am()
        text1=jp()
        text2=uk()
        textlist=[text0,text1,text2]
        for a in textlist:
            
            if a=='Preorder' or a == 'In Stock':
                flag_ex=flag
                flag=1
                print('yes')
                fasong(a,'***@163.com')
                break
            else:
                flag=0
                print('no')
            
    except:
        print('fail to do this')
        pass
    
    

        
    time.sleep(300)

我是半年前挂在VPS运行的,然后借助这个通知帮朋友购置了英版的switch森友版,比淘宝海淘便宜多了。现在vps到期了,我就把这段代码发出来,作为一段纪念和回忆了,希望能帮到有想法的朋友。


http://www.niftyadmin.cn/n/745886.html

相关文章

2020磺化工艺证考试及磺化工艺考试试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2020磺化工艺证考试及磺化工艺考试试题&#xff0c;包含磺化工艺证考试答案解析及磺化工艺考试试题练习。由安全生产模拟考试一点通公众号结合国家磺化工艺考试最新大纲及磺化工艺考试真题出具&#xff0c;有助于磺化…

独轮车的实现

#斗鱼&#xff0c;F12 进控制台, var x 1; function dulunche(){document.getElementsByClassName(ChatSend-txt)[0].value 火焰鼠: 法海之王 x;document.getElementsByClassName(ChatSend-button)[0].click(); } var t1 window.setInterval("dulunche()",3000)…

2020汽车修理工(中级)考试及汽车修理工(中级)模拟考试系统

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2020汽车修理工&#xff08;中级&#xff09;考试及汽车修理工&#xff08;中级&#xff09;模拟考试系统&#xff0c;包含汽车修理工&#xff08;中级&#xff09;考试答案解析及汽车修理工&#xff08;中级&#xf…

dataframe 用 .isin()进行精确查找

datadf2[df2[元素标签].isin(list(df[元素标签]))]

2020机械员-岗位技能(机械员)模拟考试及机械员-岗位技能(机械员)作业模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2020机械员-岗位技能(机械员)模拟考试及机械员-岗位技能(机械员)作业模拟考试&#xff0c;包含机械员-岗位技能(机械员)模拟考试答案解析及机械员-岗位技能(机械员)作业模拟考试练习。由安全生产模拟考试一点通公众号…

开放服务器端口后,却依然无法连接

解决办法&#xff0c;关掉防火墙 systemctl stop firewalld iptables -F

2020金属非金属矿山(露天矿山)主要负责人作业考试题库及金属非金属矿山(露天矿山)主要负责人操作证考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2020金属非金属矿山&#xff08;露天矿山&#xff09;主要负责人作业考试题库及金属非金属矿山&#xff08;露天矿山&#xff09;主要负责人操作证考试&#xff0c;包含金属非金属矿山&#xff08;露天矿山&#xff0…

2020煤炭生产经营单位(安全生产管理人员)证考试及煤炭生产经营单位(安全生产管理人员)模拟考试题

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2020煤炭生产经营单位&#xff08;安全生产管理人员&#xff09;证考试及煤炭生产经营单位&#xff08;安全生产管理人员&#xff09;模拟考试题&#xff0c;包含煤炭生产经营单位&#xff08;安全生产管理人员&#…