爬虫 , 定时发菜单 pass 10

 1 import smtplib , requests , schedule , time
 2 from email.mime.text import MIMEText
 3 from email.header import Header
 4 from bs4 import BeautifulSoup
 5 
 6 def course_spider():
 7     list_course = []
 8     url = 'http://www.xiachufang.com/explore/?page='
 9     headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
10     for i in range(1,4):
11         res_recipe = requests.get(url+str(i) , headers=headers)
12         res_recipe.encoding = 'utf-8'
13         bs_recipe = BeautifulSoup(res_recipe.text , 'html.parser')
14         list_recipe = bs_recipe.find(class_='normal-recipe-list').find_all('li')
15         for a_recipe in list_recipe:
16             course = a_recipe.find(class_='name')
17             ingredient = a_recipe.find(class_='ing ellipsis')
18             list_course.append('菜名:{}\n原料:{}\n..........\n'.format(course.text.strip() , ingredient.text.strip()))
19         course_content = ' '.join(list_course)
20         return course_content
21 
22 
23 def send_mail():
24     qqmail = smtplib.SMTP()
25     qqmail.connect('smtp.qq.com' , 25)
26     qqmail.login('2191313025@qq.com' , 'atdkphuzskgwwebed')
27     content = course_spider()
28     message = MIMEText(content , 'plain' , 'utf-8')
29     message['Subject'] = Header('Happy new year' , 'utf-8')
30 
31     qqmail.sendmail('2191313025@qq.com' , '2191313025@qq.com' , message.as_string())
32     qqmail.quit()
33 
34 def job():
35     send_mail()
36 
37 schedule.every(20).seconds.do(job)
38 while True:
39     schedule.run_pending()
40     time.sleep(2)

 

 1 import smtplib , requests , time , schedule ,random
 2 from bs4 import BeautifulSoup 
 3 from email.mime.text import MIMEText 
 4 from email.header import Header
 5 
 6 def choose_movie():
 7     movie_250 = []
 8     movie_3 = []
 9     headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36'}
10     for i in range(3,10):
11         url = 'https://movie.douban.com/top250?start={}&filter='.format(i*25)
12         res_movie = requests.get(url , headers=headers)
13         bs_movie = BeautifulSoup(res_movie.text , 'html.parser')
14         list_movie = bs_movie.find('ol', class_="grid_view").find_all('li')
15         for movie in list_movie:
16             link = movie.find('a')
17             comment = movie.find(class_='inq')
18             name = movie.find(class_='title')
19             mark = movie.find(class_='rating_num')
20 
21             try:
22                 content = ('电影名:{}\n链接:{}\n推荐语:{}\n评分:{}\n.......\n'.format(name.text, link['href'], comment.text, mark.text))
23             except:
24                 content = ('电影名:{}\n链接:{}\n推荐语:{}\n评分:{}\n.......\n'.format(name.text, link['href'], '', mark.text))
25             movie_250.append(content)
26 
27     movie_3 = random.sample(movie_250 , 6)
28     return movie_3    
29 
30 
31 def sendmail():
32     qqmail = smtplib.SMTP()
33     qqmail.connect('smtp.qq.com' , 25)
34     qqmail.login('2191313025@qq.com' , 'atdkphuzskgwwebed')
35     content = ''
36     ii = choose_movie()
37     for i in ii: 
38         content += i
39   #  content = choose_movie()
40     message_ = MIMEText(content , 'plain' , 'utf-8')
41     message_['Subject'] = Header('go to movie' , 'utf-8')
42     qqmail.sendmail('2191313025@qq.com' , '2191313025@qq.com' , message_.as_string())
43     qqmail.quit()
44 
45 sendmail()
46     

 

posted on 2020-04-16 11:46  Hrunjie  阅读(129)  评论(0)    收藏  举报

导航