豆瓣电影搜索爬虫程序,爬虫小程序,适合初学者

最近在学python,之前用Python写过简单的图片爬取,今天想着用python爬一下豆瓣的电影,就有了下面的程序:

#coding:utf-8
#coding:utf-8
import re
import sys
import urllib
from bs4 import BeautifulSoup
def movieSearch():
<span style="white-space:pre">	</span>douBanSearchurl = "http://movie.douban.com/subject_search?search_text="
<span style="white-space:pre">	</span>data = urllib.urlopen(douBanSearchurl+movieName).read()
<span style="white-space:pre">	</span>r = re.findall(r'<a class="nbg" href=(.*?) onclick',data)
<span style="white-space:pre">	</span>realy_url = re.sub('"','',r[0])
<span style="white-space:pre">	</span>movieData = urllib.urlopen(realy_url).read()
<span style="white-space:pre">	</span>soup = BeautifulSoup(movieData)
<span style="white-space:pre">	</span>movieSummary = soup.find_all("span",{'property':'v:summary'})
<span style="white-space:pre">	</span>#movieSummaryText = re.findall(r'<span property="v:summary" class="">(\W*.*\W*.*?)</span>',movieData)
<span style="white-space:pre">	</span>movie = re.findall(r'name="title" value="(.*?)"',movieData)
<span style="white-space:pre">	</span>people = re.findall(r'name="desc" value="(.*?)"',movieData)
<span style="white-space:pre">	</span>imdb = re.findall(r'</span> <a href="(.*?)" target=',movieData)
<span style="white-space:pre">	</span>Time = re.findall(r'<span property="v:runtime" content="109">(.*?)</span>',movieData)
<span style="white-space:pre">	</span>print u"IMDB电影网链接"
<span style="white-space:pre">	</span>print imdb[0]
<span style="white-space:pre">	</span>print u"豆瓣电影链接"
<span style="white-space:pre">	</span>print  realy_url
<span style="white-space:pre">	</span>print '*'*100
<span style="white-space:pre">	</span>print movie[0].decode('utf-8').encode('gbk')
<span style="white-space:pre">	</span>print people[0].decode('utf-8')
<span style="white-space:pre">	</span>print u"电影简介"
<span style="white-space:pre">	</span>print '*'*100
<span style="white-space:pre">	</span>print movieSummary[0].encode('utf-8').decode('utf-8').encode('gbk')
if __name__=='__main__':
<span style="white-space:pre">	</span>while(1):
<span style="white-space:pre">		</span>arg = raw_input("请选择功能:\n1:电影搜索\n2:退出\n".decode('utf-8').encode('gb2312'))
<span style="white-space:pre">		</span>if arg=='1' :
<span style="white-space:pre">			</span>movieName=raw_input("请输入电影名:  ".decode('utf-8').encode('gb2312')).strip()
<span style="white-space:pre">			</span>print u"开始搜索"
<span style="white-space:pre">			</span>movieSearch()
<span style="white-space:pre">		</span>else:
<span style="white-space:pre">			</span>print u"退出程序"
<span style="white-space:pre">			</span>break;
<span style="white-space:pre">			</span>

在调试过程中,遇到了两个头疼的问题:

1、beautifulSoup编码与CMD编码不匹配,beautifulSoup得到的网页信息均为Unicode,但是cmd不支持Unicode只有gbk,中文显示就成了很大问题了,所以就用了最笨的办法,通过转码来实现,目前还没找到更好的办法,如果有请指点下。

2、在写正则表达式时,不知道<br\>如何匹配,特别是对于网页文字有换行分段的形式,该如何匹配?

时间: 2024-10-13 21:12:50

豆瓣电影搜索爬虫程序,爬虫小程序,适合初学者的相关文章

微信小程序——豆瓣电影——(2):小程序运行部署

Demo 预览 演示视频(流量预警 2.64MB) GitHub Repo 地址 仓库地址:https://github.com/zce/weapp-demo 使用步骤 将仓库克隆到本地: bash $ git clone https://github.com/zce/weapp-demo.git weapp-douban --depth 1 $ cd weapp-douban 打开微信Web开放者工具(注意:必须是0.9.092300版本) 必须是0.9.092300版本,之前的版本不能保证正

小程序再次大升级:一号旺铺让你能用小程序打开小程序

腾讯科技讯6 月 21 日晚间,小程序再次迎来三大功能升级,包括小程序打开小程序.门店小程序的门店页支持添加视频.门店小程序支持接口管理,丰富了使用场景和扩展性. 以下为主要功能升级: 1.一号旺铺小程序打开小程序 同一个公众号下关联的 10 个同主体小程序和 3 个非同主体小程序之间,可以调用接口直接相互跳转.微信客户端6.5. 9 及以上版本支持. 2.门店小程序的门店页支持添加视频 为了方便宣传门店形象,门店小程序的门店页支持可添加视频.添加视频方式有两种: 上传视频至公众号素材库添加.

微信小程序_小程序开发框架

微信小程序_小程序开发框架 微信小程序小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生APP体验的服务. 框架提供了自己的视图层描述语言WXML和WXSS,以及基于JavaScript的逻辑层框架,并在视图层与逻辑层间提供了数据传输和事件系统,可以让开发者可以方便的聚焦于数据与逻辑上. 响应的数据绑定微信小程序框架的核心是一个响应的数据绑定系统. 整个系统分为两块视图层(View)和逻辑层(App Service) 框架可以让数据与视图非常简单地保持同步.当做数据

[小程序]微信小程序登陆并获取用户信息

1.小程序js端调用框架登陆API,获取到一个临时code,拿着这个code去调用自己的服务端接口 2.在自己的服务器端,使用app_id app_secrect code可以获取到用户的openid,这个id是用户唯一的id并且不会改变,可以把这个id返回给小程序端小程序端本地保存openid 3.获取用户信息很简单,并且不需要自己的服务器处理,只需要小程序端提供的API.前端页面wxml使用一个按钮,按钮里增加几个属性,就可以回调到小程序js部分的方法上,并且带着用户的个人信息,如昵称 头像

【练手项目总结】构建一个集阅读和电影资讯为一体的小程序

本项目是一个集阅读和电影资讯为一体的微信小程序主要分为启动页,阅读部分和电影部分3大块.以下是这次项目的总结: GitHub地址:https://github.com/wkx1214108696/FirstApplets.git 启动页 页面布局:自适应的rpx和flex进行布局(之后所有的页面都是用flex布局) 使用`wx.switchTab(Object object)`跳转至阅读和电影资讯页面,设置了tab选项卡的部分必须使用`wx.switchTab(Object object)` 阅

微信小程序开发—小程序框架详解(二)

上一节讲了微信小程序的目录结构及各个文件的作用,主要介绍了小程序的配置文件及其支持的配置属性. 本节主要从逻辑层和视图层来说明小程序的框架. 小程序的逻辑层由js完成,视图层由微信提供的WXML(WeiXin Mark Language)和WXSS(WeiXin Style Sheet)文件来完成. 其中官方给出的解释:页面的脚本逻辑是在JsCore中运行,JsCore是一个没有窗口对象的环境,所以不能在脚本中使用window,也无法在脚本中操作组件.同时由于zepto/jquery 会使用到w

微信小程序(1)——小程序的特点以及结构

简单的,用完即走的应用 低频应用 性能要求不高的应用 应用程序入口(app.js   app.json  app.wxss) 一级页面:wxml,wxss,js,json 二级页面:wxml,wxss,js,json 一级.二级页面可以无限多个(注意小程序大小限制,不可能无限多个) 纵向页面层级数最多只能五级页面 应用程序级别的文件必须是app.js,app.json,app.wxss 同一文件夹下的文件名必须一致 (.js后缀的是脚本文件,.json后缀的文件是配置文件,.wxss后缀的是样式

微信小程序开发—小程序框架详解(一)

下面以开发者工具自动生成的程序框架为例,对小程序的框架进行介绍. 选择一个空的项目目录创建一个小程序项目,如下图: 创建完成后我们看到如下目录结构: 目录结构 小程序包含一个描述整体程序的 app 和多个描述各自页面的 page. 一个小程序主体部分由三个文件组成,必须放在项目的根目录,如下: 文件 必须 作用 app.js 是 小程序逻辑 app.json 是 小程序公共设置 app.wxss 否 小程序公共样式表 pages目录下为小程序页面,每个页面须建立独立的文件夹,例如上面生成的小程序

微信小程序开发—小程序开发入门

本篇将为大家详细介绍如何安装小程序开发工具,并进行一个完整小程序的开发. 下载安装微信web开发者工具 下载地址: windows64:https://servicewechat.com/wxa-dev-logic/download_redirect?type=x64 windows32:https://servicewechat.com/wxa-dev-logic/download_redirect?type=ia32 mac:https://servicewechat.com/wxa-dev