(一)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=%d " %(j,i,i*j),end="") print("")
(二)爬取静态网页
这次我们练习的实战是爬取静态网页,豆瓣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(" ") f.close()
txt展示:
日期 | 开始时间 | 结束时间 | 中断时间 | 净时间 | 活动 |
3/12 | 20:30 | 21:45 | 0 | 75 | python练习与爬取T25的名字 |
3/12 | 22:00 | 22:30 | 5 | 25 | 爬取T250电影的名字,导演,评分等 |
总学习时长:100分钟,净代码行数:90行