(一)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("")

(二)爬取静态网页

这次我们练习的实战是爬取静态网页,豆瓣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()

txt展示:

日期 开始时间 结束时间 中断时间 净时间 活动
3/12 20:30 21:45 0 75 python练习与爬取T25的名字
3/12 22:00 22:30 5 25 爬取T250电影的名字,导演,评分等

总学习时长:100分钟,净代码行数:90行

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

  1. 爬取豆瓣网图书TOP250的信息

    爬取豆瓣网图书TOP250的信息,需要爬取的信息包括:书名.书本的链接.作者.出版社和出版时间.书本的价格.评分和评价,并把爬取到的数据存储到本地文件中. 参考网址:https://book.doub ...

  2. Python爬虫实例:爬取豆瓣Top250

    入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...

  3. Python爬虫入门:爬取豆瓣电影TOP250

    一个很简单的爬虫. 从这里学习的,解释的挺好的:https://xlzd.me/2015/12/16/python-crawler-03 分享写这个代码用到了的学习的链接: BeautifulSoup ...

  4. 基于python的scrapy框架爬取豆瓣电影及其可视化

    1.Scrapy框架介绍 主要介绍,spiders,engine,scheduler,downloader,Item pipeline scrapy常见命令如下: 对应在scrapy文件中有,自己增加 ...

  5. python实例:自动爬取豆瓣读书短评,分析短评内容

    思路: 1.打开书本“更多”短评,复制链接 2.脚本分析链接,通过获取短评数,计算出页码数 3.通过页码数,循环爬取当页短评 4.短评写入到txt文本 5.读取txt文本,处理文本,输出出现频率最高的 ...

  6. python爬虫+正则表达式实例爬取豆瓣Top250的图片

    直接上全部代码 新手上路代码风格可能不太好 import requests import re from fake_useragent import UserAgent #### 用来伪造爬头部信息 ...

  7. python3爬取豆瓣排名前250电影信息

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @File : doubanmovie.py # @Author: Anthony.waa # @Dat ...

  8. Python网络爬虫 - 爬取中证网银行相关信息

    最终版:07_中证网(Plus -Pro).py # coding=utf-8 import requests from bs4 import BeautifulSoup import io impo ...

  9. Python的scrapy之爬取豆瓣影评和排名

    基于scrapy框架的爬影评 爬虫主程序: import scrapy from ..items import DoubanmovieItem class MoviespiderSpider(scra ...

随机推荐

  1. ef codefirst VS里修改数据表结构后更新到数据库

    2.根据已建立table的数据库建立ADO.NET数据模型在修改表后进入 工具->nuget包管理器->程序包管理器控制台 输入  enable-migrations   后vs会添加一个 ...

  2. Part-Appium-1

    1.安装node > 下载二进制文件,解压后,配置到环境变量 https://nodejs.org/download/release/latest/ > vim ~/.bashrc,exp ...

  3. The Queen's Super-circular Patio 求栏杆

    Input The first line of input contains a single integer P, (1 ≤ P ≤ 1000), which is the number of da ...

  4. Margin of Error|sample size and E

    8.3 Margin of Error 由该公式可知: To improve the precision of the estimate, we need to decrease the margin ...

  5. cs231n spring 2017 lecture16 Adversarial Examples and Adversarial Training

    (没太听明白,以后再听) 1. 如何欺骗神经网络? 这部分研究最开始是想探究神经网络到底是如何工作的.结果人们意外的发现,可以只改变原图一点点,人眼根本看不出变化,但是神经网络会给出完全不同的答案.比 ...

  6. async包 ES6 async/await的区别

    最基本的async 包 ApCollection.find({}).toArray(function (err, aps) { var num = 0; async.whilst( function ...

  7. Hibernate实现步骤

    1. 引入jar文件(hibernate3.jar, lib\required目录下所有的jar,log4j记录的log4j-1.2.16.jar,slf4j-log4j12-1.5.8.jar,oj ...

  8. node.js 和 npm/cnpm/nrm 的安装

    node.js 和 npm/cnpm/nrm 的安装 安装 node.js.去 官网 下载,下载 LTS 版本的.安装时一路点确定,不要改动任何设置. 在 git-bash 或是 cmd 下,输入 n ...

  9. labview的bool(布尔)按键机械属性

    在学习LabVIEW(简称LV)时,布尔控件是常用的控件.布尔控件分为按钮型控件和开关型控件,LV内部并没有区分按钮型还是开关型.这两种布尔控件可以根据需要相互转换,通过配置布尔控件的机械动作属性来实 ...

  10. com.mysql.jdbc.exceptions.jdbc4.MySQLDataException: '2.34435678977654336E17' in column '3' is outside valid range for the datatype INTEGER.

    ### Error querying database. Cause: java.lang.reflect.UndeclaredThrowableException### The error may ...