Python進階練習與爬取豆瓣T250的影片相關信息

  • 2020 年 3 月 12 日
  • 筆記

(一)Python進階練習

正所謂要將知識進行實踐,才會真正的掌握

於是就練習了幾道題:求素數,求奇數,求九九乘法表,字符串練習

import re  #求素數  i=1;  flag=0  while(i<=100):      flag=0      j=2;      while(j<i):          if(i%j==0):              flag=1              break;          j=j+1      if(flag==0):          print(i,end=' ')      i=i+1    #求奇數  for i in range(1,101):      if(i%2==1):          print(i,end=' ')    #字符串練習  str="你好$$$我正在學 Python@#@#現在需要&*&*&修改字符串"  k=str.replace('$$$','').replace('@#@#',' ').replace('&*&*&',' ')  print(k)  p=re.sub('[$@#&*]',' ',str)  print(p)    #九九乘法表  for i in range(1,10):      for j in range(1,i+1):          print("%d*%d=%dt" %(j,i,i*j),end="")      print("")

View Code

(二)爬取靜態網頁

這次我們練習的實戰是爬取靜態網頁,豆瓣T250電影的名字

首先我們分析一頁有25個電影,我們想要250個,進行下一頁的時候他的鏈接地址變成“https://movie.douban.com/top250?start=25”同理每翻一頁就會增加25.我們就可以對這250個數據進行爬取了

我們要獲取的信息是:電影名字,導演與主演以及時間類型,豆瓣評分,多少人評價

將這些信息存入到txt裏面

import requests  from bs4 import BeautifulSoup      def get_movie():      url = 'https://movie.douban.com/top250'  #請求地址      headers = {'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.131 Safari/537.36'}#創建頭部信息      movie_list=[]      for i in range(0,10):          url = 'https://movie.douban.com/top250?start='+str(i*25)          response=requests.get(url,headers=headers)          soup=BeautifulSoup(response.text,"html.parser")          div_list = soup.find_all('div', class_='info')          for each in div_list:              title = each.find('div', class_="hd").span.text.strip()              info = each.find('div', class_='bd').p.text.strip()              info = info.replace('\n', '').replace('\xa0', '')              info = ' '.join(info.split())              star = each.find('span', class_='rating_num').text.strip()              people = each.find('div', class_='star').contents[7].text.strip()              movie_list.append([title, info, star, people])      return movie_list  movie=[]  movie=get_movie()  with open("Top_movie_250.txt","a+",encoding="utf-8") as f:      for i in range(len(movie)):          f.write(str(movie[i]))          f.write("n")      f.close()

View Code

 

txt展示:

 

 

 

日期 開始時間 結束時間 中斷時間 凈時間 活動
3/12 20:30 21:45 0 75 python練習與爬取T25的名字
3/12 22:00 22:30 5 25 爬取T250電影的名字,導演,評分等

 

 

 

 

總學習時長:100分鐘,凈代碼行數:90行