python爬虫豆瓣评分_记一次python爬虫实战,豆瓣电影Top250爬虫

import requests

from bs4 import BeautifulSoup

import re

import traceback

def GetHtmlText(url):

for i in range(0,1): #尝试两次

try:

r=requests.get(url)

r.encoding = 'utf-8'

r.raise_for_status();

return r.text;

except:

traceback.print_exc()

continue

return

def GetMovieInfo(url):

movieDict={}

for page in range(0,10):

try:

page_url = '?start='+str(page*25)

html = GetHtmlText(url+page_url)

Soup = BeautifulSoup(html, 'html.parser')

movie = Soup.find(name="ol",class_='grid_view') #所有电影信息

movieList = movie.find_all(name='li') #电影信息列表

for single in movieList: #循环单页的电影信息

num = single.find(name='em').string #电影排名

title1 = single.find_all(name='span',class_='title')

title2 = single.find(name='span',class_='other').string

if len(title1)==2:

movieTitle = title1[0].string+title1[1].string+title2.string

else:

movieTitle = title1[0].string+title2.string

classBD = single.find(name='div',class_='bd').contents #我也不知道为什么bs给我返回7个节点

movieActor = classBD[1].text

movieRating = re.findall(r'\d?\.\d?',str(classBD[3]))[0]

movieQuote = classBD[5].text

movieDict['num'] = num

movieDict['movieTitle'] = movieTitle

movieDict['actor'] = movieActor

movieDict['rating'] = movieRating

movieDict['quote'] = movieQuote

printMovieInfo(movieDict)

except:

traceback.print_exc()

def printMovieInfo(Info):

try:

with open('/home/why/py/movieInfo.txt','a',encoding='utf-8') as f:

f.write(str(Info['num']+Info['movieTitle']+'\n'+Info['actor']+'\n评分:'+Info['rating']+'\n评价:'+Info['quote']+'\n'))

except:

traceback.print_exc()

def main():

base_url = 'https://movie.douban.com/top250'

GetMovieInfo(base_url)

main()

结果:

python爬虫豆瓣评分_记一次python爬虫实战,豆瓣电影Top250爬虫_第1张图片

<;爬虫实战>;豆瓣电影TOP250(三种解析方法)

1.豆瓣电影排行.py # 目标:爬取豆瓣电影排行榜TOP250的电影信息 # 信息包括:电影名字,上映时间,主演,评分,导演,一句话评价 # 解析用学过的几种方法都实验一下①正则表达式.②Beaut ...

[Python] 豆瓣电影top250爬虫

1.分析

电影信息
每个电影信息都是同样的格式,毕竟在服务器端是用 ...

Python:python抓取豆瓣电影top250

一直对爬虫感兴趣,学了python后正好看到某篇关于爬取的文章,就心血来潮实战一把吧. 实现目标:抓取豆瓣电影top250,并输出到文件中 1.找到对应的url:https://movie.douba ...

Python抓取豆瓣电影top250!

前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理.作者:404notfound  一直对爬虫感兴趣,学了python后正好看到 ...

零基础爬虫----python爬取豆瓣电影top250的信息(转)

今天利用xpath写了一个小爬虫,比较适合一些爬虫新手来学习.话不多说,开始今天的正题,我会利用一个案例来介绍下xpath如何对网页进行解析的,以及如何对信息进行提取的. python环境:pytho ...

爬虫实战 豆瓣音乐top250 xpath

刷知乎时刷到一篇爬取豆瓣音乐top250的,然后看了看,感觉自己的爬虫又更上一层楼了哈啊哈哈,尤其是发现xpath这么好用的东西. 不过也有一个感慨,就是有很多种方式都可以获得想要的数据,对于入门的新 ...

Python 爬取豆瓣电影Top250排行榜,爬虫初试

from bs4 import BeautifulSoup import openpyxl import re import urllib.request import urllib.error # ...

Python 爬虫:豆瓣电影Top250,包括电影导演、类型、年份、主演

结果输出到文本文件中. import codecs import requests from bs4 import BeautifulSoup headers={'User-Agent': 'Mozi ...

第一个爬虫经历----豆瓣电影top250(经典案例)

因为要学习数据分析,需要从网上爬取数据,所以开始学习爬虫,使用python进行爬虫,有好几种模拟发送请求的方法,最基础的是使用urllib.request模块(python自带,无需再下载),第二是r ...

随机推荐

DSL 或者说是抽象 或者说是沉淀 ,我看到的不错的一篇文章

作者:张浩斌 链接:https://www.zhihu.com/question/45552115/answer/99388265 来源:知乎 著作权归作者张浩斌和知乎所有.   ---------- ...

.NET微信公众号开发-1.0初始微信公众号

一.前言 微信公众号是开发者或商家在微信公众平台上申请的应用账号,该帐号与QQ账号互通,通过公众号,商家可在微信平台上实现和特定群体的文字.图片.语音.视频的全方位沟通.互动 .形成了一 种主流的线上 ...

微吧里的各种margin负值

直在做各种项目接各种需求,但你的代码能力得到提高了吗?不停的项目经历虽然能够增加你的代码行数,但不一定能提升你的代码质量,所以除了构建阶段的代码细扣,项目之后的代码总结是至关重要的. 微吧中除了模块化 ...

ashx中session的使用

在平常的页面上是用是很容易就的到request,response对像,从而对其进行一些操作,但在ashx(一般处理程序)中却是有一点的不同, 在ashx你无法正常的使用session,即 contex ...

搭建后台页面布局利用属性target 属性

HTML 5

target 属性 HTML 5 标签 实例 提交一个在新窗口中打开的表单: & ...

[x] 封装、继承,多态

那么多态的作用是什么呢,封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用. 而多态的目的则是为了接口重用.也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接 ...

Disqus评论框改造工程-Jekyll等静态博客实现Disqus代理访问

文章最初发表于szhshp的第三边境研究所转载请注明 关于博客评论 六月多说挂了,地球人都知道. 倡言.云跟帖.来必力都很烂,地球人都知道. 转Disqus的都是人才. Disqus使用中遇到的问题 ...

你可能感兴趣的:(python爬虫豆瓣评分)