'''
用到的主要知识:(详情见官方文档)1. requests2. BeautifulSoup3. codecs4. os
'''
#-*-coding:utf-8
import requests
from bs4 import BeautifulSoup
import lxml
import os
import codecs
'''
s=requests.Session()  #设置session用来跨对话请求,这里会自动保存cookies
url='https://accounts.douban.com/login'    #登录豆瓣的页面
headers={
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36',
'Referer':'https://accounts.douban.com/login'}   #设置请求头re=requests.get(url)
html=re.text
soup=BeautifulSoup(html,'lxml')
all_input=soup.find_all('input',type='hidden')
input_value=all_input[2].get('value')            #得到请求表单上的captcha-id的值
img_url=soup.find('img',id='captcha_image').get('src')
solution=str(raw_input('%s:'%img_url))          #得到验证码,这里需要手动的输入
#请求表单
formdata={
'source':'None',
'redir':'https://www.douban.com/',
'form_email':'18796327106@163.com',
'form_password':'as676767as',
'captcha-solution':solution,
'captcha-id':input_value,
'login':'登录'
}
r=s.post(url,data=formdata,headers=headers)   #post登录#用来检验是否已经完成了登录
sec_url='https://www.douban.com/group/guide?guide=1'
res=s.get(sec_url)
print res.text
'''--------------------**#以上是基本的思路,下面是用类将代码封装起来**
class DouBan():def __init__(self,log_url):self.log_url=log_urlself.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36','Referer': 'https://accounts.douban.com/login'}  # 设置请求头self.s=requests.Session()   #设置session#登录def log_in(self):solution,input_value=self.get_captcha_solution_id()#设置登录的表单formdata = {'source': 'None','redir': 'https://www.douban.com/','form_email': 'username',#这里填入自己的豆瓣账号'form_password': 'password',#这里填入自己的账号密码'captcha-solution': solution,'captcha-id': input_value,'login': '登录'}r = self.s.post(url, data=formdata, headers=self.headers)  # post登录#获取登录界面的源码def get_log_html(self):re = requests.get(self.log_url)html = re.textreturn html#获取表单上的验证码和captcha-iddef get_captcha_solution_id(self):html=self.get_log_html()soup=BeautifulSoup(html,'lxml')img_url = soup.find('img', id='captcha_image').get('src')solution=str(raw_input('%s:'%img_url))all_input = soup.find_all('input', type='hidden')input_value = all_input[2].get('value')  # 得到请求表单上的captcha-id的值return solution,input_value#验证是否能够登录def YZ(self):url='https://www.douban.com/group/guide?guide=1're=self.s.get(url)print re.text'''下面是爬取豆瓣电影排行榜的电影的详细信息'''#获得一页的所有电影的url,当然如果想要获得更多的url还是可以拓展的def get_url(self):all_a=[]url='https://movie.douban.com/chart're=self.s.get(url)html=re.textsoup=BeautifulSoup(html,'lxml')all_div=soup.find_all('div',class_='pl2')for div in all_div:all_a.append(div.find('a').get('href'))    #将所有的url存储在一个列表中return all_a#下载所有的信息写入文件,这里的filename是想要存入的路径名def get_info(self,filename):all_url=self.get_url()path=os.path.normpath(filename)   #规范路径名os.mkdir(path)   #创建路径file=os.path.join(path,'film.txt')   #将路径和文件名连在一起构成绝对路径f=codecs.open(file,'w',encoding='utf-8')   #打开文件for url in all_url:re=self.s.get(url)html=re.textsoup=BeautifulSoup(html,'lxml')div=soup.find('div',id='info')h1=soup.find('h1')      #获得电影的标题if div.text:text=h1.text+div.text     #得到标签之中的内容print textf.write(text)f.close()            #关闭文件if __name__=='__main__':url='https://accounts.douban.com/login'app=DouBan(url)app.log_in()filename='g:\\film'app.get_info(filename)

[requests文档:]http://requests-docs-cn.readthedocs.io/zh_CN/latest/user/quickstart.html
BeautifulSoup官方文档:

python爬取豆瓣电影信息相关推荐

  1. python爬取豆瓣电影信息_Python爬虫入门 | 爬取豆瓣电影信息

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  2. python爬取豆瓣电影信息可行性分析_Python爬虫实现的根据分类爬取豆瓣电影信息功能示例...

    本文实例讲述了Python爬虫实现的根据分类爬取豆瓣电影信息功能.分享给大家供大家参考,具体如下: 代码的入口:if __name__ == '__main__': main()#! /usr/bin ...

  3. python爬取豆瓣电影信息数据

    题外话+ 大家好啊,最近自己在做一个属于自己的博客网站(准备辞职回家养老了,明年再战)在家里 琐事也很多, 加上自己 一回到家就懒了(主要是家里冷啊! 广东十几度,老家几度,躲在被窝瑟瑟发抖,) 由于 ...

  4. python爬取豆瓣电影信息_Python|简单爬取豆瓣网电影信息

    前言: 在掌握一些基础的爬虫知识后,就可以尝试做一些简单的爬虫来练一练手.今天要做的是利用xpath库来进行简单的数据的爬取.我们爬取的目标是电影的名字.导演和演员的信息.评分和url地址. 准备环境 ...

  5. python爬取豆瓣电影评论_python 爬取豆瓣电影评论,并进行词云展示及出现的问题解决办法...

    def getHtml(url): """获取url页面""" headers = {'User-Agent':'Mozilla/5.0 ( ...

  6. Python爬取豆瓣电影top250的电影信息

    Python爬取豆瓣电影top250的电影信息 前言 一.简介 二.实例源码展示 小结 前言 相信很多小伙伴在学习网络爬虫时,老师们会举一些实例案例讲解爬虫知识,本文介绍的就是经典爬虫实际案例–爬取豆 ...

  7. python爬虫爬取豆瓣电影信息城市_Python爬虫入门 | 2 爬取豆瓣电影信息

    这是一个适用于小白的Python爬虫免费教学课程,只有7节,让零基础的你初步了解爬虫,跟着课程内容能自己爬取资源.看着文章,打开电脑动手实践,平均45分钟就能学完一节,如果你愿意,今天内你就可以迈入爬 ...

  8. Python爬虫入门(爬取豆瓣电影信息小结)

    Python爬虫入门(爬取豆瓣电影信息小结) 1.爬虫概念 网络爬虫,是一种按照一定规则,自动抓取互联网信息的程序或脚本.爬虫的本质是模拟浏览器打开网页,获取网页中我们想要的那部分数据. 2.基本流程 ...

  9. 小白都能看明白的Python网络爬虫、附上几个实用的爬虫小例子: 爬取豆瓣电影信息和爬取药监局

    文章目录 网络爬虫 爬虫的基础知识 爬虫分类 requests模块 爬虫的简单案例 简单的收集器 爬取豆瓣电影信息 爬取药监局 返回数据类型 数据解析 爬取糗事百科图片(正则表达式) xpath解析数 ...

最新文章

  1. yum clean all之后出错_“之后”英语的4种表达方式?
  2. Nginx+Tomcat简单集群配置
  3. ASP.NET基础教程-DataGrid表格控件-模板列的使用
  4. 【Nginx】location 指向某一个文件 / 指定路径访问某一文件
  5. 确定S中最接近中位数的k个元素(算法导论第三版9.3-7)
  6. oracle 之 基础操作
  7. 过了一会的gduuu
  8. 2018年网络规划设计师上午真题及答案解析
  9. U盘安装centos7
  10. 二路归并排序简介及其并行化
  11. Python语法报错相关语句
  12. 绕过限制,申请Google+
  13. linux内存管理方式,简要概括Linux内存管理的方式
  14. Android 调用Gmail发送邮件
  15. R语言常见报错及解决方法
  16. 一看就懂【来自英雄联盟盖伦的怒吼】与 Python 详解设计模式(二)观察者模式...
  17. 在Vmware14中安装Linux系统教程(图文教程)
  18. windows10配置WSL(Ubuntu)环境
  19. 常说的“四层”和“七层”是什么
  20. 奥特曼系列ol进不去服务器,奥特曼系列OL闪退怎么办?解决方案

热门文章

  1. 治疗失眠小妙招:按摩百会穴酸枣仁贴肚脐
  2. 【LaTex】第二行作者居中(IEEEtran模板)
  3. IntelliJ IDEA 文件未被识别成maven工程
  4. 神经网络模型的模型假设,神经网络模型预测控制
  5. Markdown博文快速转为微信文章
  6. csr867x入门之spp使用(七)
  7. 微信的隐藏功能竟然可以一秒获取好友位置!这到底是神马操作
  8. JavaMailSenderImpl 使用465端口配置
  9. Javascript代码优化的8个知识点 1
  10. Sentry开启 Github sso 配置(self-hosted)