首页 > 编程语言 > 详细

Python进阶练习与爬取豆瓣T250的影片相关信息

时间:2020-03-13 00:03:10      阅读:123      评论:0      收藏:0      [点我收藏+]

(一)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\t" %(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行

Python进阶练习与爬取豆瓣T250的影片相关信息

原文:https://www.cnblogs.com/xiaofengzai/p/12483564.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!