python爬虫获取豆瓣网前250部电影的详细信息

网址 https://movie.douban.com/top250

一共250部电影,有分页,获取每一部的详细信息

不采用框架,使用 urilib读取网页,re进行正则表达式匹配,lxml进行xpath查找

 1 from film import *
 2 from urllib import request
 3 import time,re
 4 url=r‘https://movie.douban.com/top250?start=‘
 5 for i in range(10):
 6     url=url+str(i*25)
 7     print(url)
 8
 9     headers = {
10         ‘User-Agent‘: r‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ‘
11                       r‘Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3‘,
12         ‘Connection‘: ‘keep-alive‘
13     }
14     req=request.Request(url,headers=headers)
15     page=request.urlopen(req).read()
16     page=page.decode(‘utf-8‘)
17     #fp=open("page.txt",mode="w",encoding="UTF-8")
18     #fp.writelines(page)
19     p=re.compile(r‘\<em\sclass=\"\"\>\d+\</em\>\s*\<a\shref=\"https://movie.douban.com/subject/\d+/\"\>‘)
20     result=p.findall(page)
21     for item in result:
22         #print(item)
23         p=re.compile(r‘\d+‘)
24         no=p.findall(item)
25         #print(no[0])
26         p=re.compile(r‘https://movie.douban.com/subject/\d+/‘)
27         rurl=p.findall(item)
28         #print(rurl[0])
29         filma=film(no[0],rurl[0],‘‘,‘‘,‘‘,‘‘,‘‘,‘‘)
30         filma.getall()
31         filma.detail()
32         time.sleep(3)
33     #print (result)
34     time.sleep(3)
35     #print(i)

film.py 如果要做数据的持久化,在这里实现

 1 from urllib import request
 2 from lxml import etree
 3 class film:
 4     def __init__(self,no,url,name,year,score,director,classification,actor):
 5         self.name=name
 6         self.year=year
 7         self.score=score
 8         self.director=director
 9         self.classification=classification
10         self.actor=actor
11         self.url=url
12         self.no=no
13
14     def detail(self):
15         temp = "No:%s;url:%s;片名:%s;年份:%s;分数:%s;导演:%s;分级:%s;演员:%s;"   %(self.no,self.url,self.name,self.year,self.score,self.director,self.classification,self.actor)
16         print(temp)
17     def getall(self):
18         headers={
19         ‘User-Agent‘: r‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) ‘
20                       r‘Chrome/45.0.2454.85 Safari/537.36 115Browser/6.0.3‘,
21         ‘Connection‘: ‘keep-alive‘
22         }
23         req=request.Request(self.url,headers=headers)
24         page=request.urlopen(req).read()
25         page=page.decode(‘utf-8‘)
26         selector=etree.HTML(page)
27         print (page)
28         self.name=selector.xpath(‘/html/body/div[3]/div[1]/h1/span[1]/text()‘)
29         self.year=selector.xpath(‘//*[@id="content"]/h1/span[2]/text()‘)
30         self.score=selector.xpath(‘//*[@id="interest_sectl"]/div[1]/div[2]/strong/text()‘)
31         self.director=selector.xpath(‘//*[@id="info"]/span[1]/span[2]/a/text()‘)
32         self.classification=selector.xpath(‘//*[@id="info"]/span[5]/text()‘)
33         self.actor=selector.xpath(‘//*[@id="info"]/span[3]/span[2]/a/text()‘)
34
35         
时间: 2024-10-13 12:29:49

python爬虫获取豆瓣网前250部电影的详细信息的相关文章

用python+selenium抓取豆瓣电影中的正在热映前12部电影并按评分排序

抓取豆瓣电影(http://movie.douban.com/nowplaying/chengdu/)中的正在热映前12部电影,并按照评分排序,保存至txt文件 #coding=utf-8 from selenium import webdriver import unittest from time import sleep class DoubanMovie(unittest.TestCase):     def setUp(self):          self.dr = webdriv

python爬虫,爬豆瓣top250电影

python爬虫,爬豆瓣top250电影 import string import re import urllib2 class DouBanSpider(object) : def __init__(self) : self.page = 1 self.cur_url = "http://movie.douban.com/top250?start={page}&filter=&type=" self.datas = [] self._top_num = 1 def

Python爬虫获取图片并下载保存至本地的实例

今天小编就为大家分享一篇Python爬虫获取图片并下载保存在本地的实例,具有很好的参考价值,希望对大家有所帮助.一起来看看吧! 1.抓取煎蛋网上的图片 2.代码如下 * * * import urllib.request import os def url_open(url): req=urllib.request.Request(url) req.add_header('User-Agent','Mozilla/5.0 (Windows NT 6.3; WOW64; rv:51.0) Geck

用Python爬虫对豆瓣《敦刻尔克》影评进行词云展示

最近很想看的一个电影,去知乎上看一下评论,刚好在学Python爬虫,就做个小实例. 代码基于第三方修改 原文链接  http://python.jobbole.com/88325/#comment-94754 #coding:utf-8 from lib2to3.pgen2.grammar import line __author__ = 'hang' import warnings warnings.filterwarnings("ignore") import jieba #分词包

Python爬虫之豆瓣-新书速递-图书解析

1- 问题描述 抓取豆瓣“新书速递”[1]页面下图书信息(包括书名,作者,简介,url),将结果重定向到txt文本文件下. 2- 思路分析[2] Step1 读取HTML Step2 Xpath遍历元素和属性 3- 使用工具 Python,lxml模块,requests模块 4- 程序实现 1 # -*- coding: utf-8 -*- 2 from lxml import html 3 import requests 4 5 6 page = requests.get('http://bo

python爬虫获取图片

import re import os import urllib #根据给定的网址来获取网页详细信息,得到的html就是网页的源代码 def getHtml(url): page = urllib.request.urlopen(url) html = page.read() return html.decode('UTF-8') def getImg(html): reg = r'src="(.+?\.jpg)" pic_ext' imgre = re.compile(reg) i

1-1 用Python抓取豆瓣及IMDB上的电影信息

下面的代码可以抓取豆瓣及IMDB上的电影信息,由于每段代码使用的数据源自上一段代码输出的数据,所以需要按顺序执行. step1_getDoubanMovies.py 1 # -*- coding: utf-8 -*- 2 ''' 3 该脚本得到豆瓣上所有电影的如下信息: 4 "rate": "7.5", 5 "cover_x": 2000, 6 "is_beetle_subject": false, 7 "title

python爬虫爬取豆瓣电影前250名电影及评分(requests+pyquery)

写了两个版本: 1.面向过程版本: import requests from pyquery import PyQuery as pq url='https://movie.douban.com/top250' moves=[] def sec(item): return item[1] for i in range(0,255,25): content=requests.get(url+"?start="+str(i))#?start=25 for movie in pq(conte

&#183;「python爬虫入门」网易云音乐下载

2015-6-2 今天把昨天Git上看的一个下载网易云音乐歌单歌曲的脚本尝试看懂并修改 Git地址:https://github.com/keli/netease-music #! /usr/bin/env python # -*- coding: utf-8 -*- import urllib2 import json import os import sys import md5 import string import random # Set cookie cookie_opener =