## 第一篇CSDN博客 python爬虫豆瓣排名前250的电影
1.首先,这是本宝宝的第一篇博客,嘿嘿,有点小激动,之所以采用CSDN发博客呢有两个原因,1是因为现在学的东西比较多,自己学着学着就忘了,那些做过的笔记(在纸上写的笔记)也掉了,所以就,欸~,二是因为将自己的问题发布到网上,可以帮助大家解决一些问题哈,顺便提高一下自己的csdn排名,嘿嘿。
2.废话不多说,直接开讲,可能跟网上排名比较高的有点差距哈,但简答易懂哈,首先import requests库和from bs4 import BeautifulSoup

import requests
from bs4 import BeautifulSoup

这里说一下:requests库是用来访问网站的,就是那个http://的啥玩意
BeautifulSoup最主要的功能是从网页(html)抓取数据,然后分析数据
在废话一下,如何安装这些库,进入cmd控制台

pip install requests
pip install beautifulsoup4

如果下载的慢,可以采用清华的镜像(真的是清华做的),

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple beautifulsoup4

这样库就导入成功了。前提准备已完成。
3.接下来,看代码部分
首先我们要写个headers,headers中包含了我们的访问该网站的信息,user-agent表示我们用的处理器是什么,系统是什么等去模拟一个手动登入的状态(不然会被网站挡住的)Host表示请求的服务器网址

headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36','Host': 'movie.douban.com'
}

我们先看main函数:page=10,因为每个页面只能显示25部电影,所以250/25=10,然后for循环遍历访问,url的链接是重点 url = “https://movie.douban.com/top250?start=”+str(25*index)
这里要解释一下,豆瓣第1名到第25的页面是https://movie.douban.com/top250?start=0,第25名到第50名页面是https://movie.douban.com/top250?start=25,所以才是这样,然后我们通过getHTMLText(url)函数来解析html的网站,最后test(html,index)函数输出结果。

def main():page=10for index in range(page):url = "https://movie.douban.com/top250?start="+str(25*index)html = getHTMLText(url)test(html,index)
main()

其次我们看一下getHTMLText函数:
首先调用**requests.get(url,headers,timeout)**函数,该方法会将headers和url拼接,然后发送网页请求。r.raise_for_status()是请求的状态码,r.encoding = r.apparent_encoding是将该网页的编码方式转为更准确的编码方式,之后返回解析后的文本return r.text

def getHTMLText(url):try:r = requests.get(url,headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""

最后我们来看test(html,index)函数:
soup = BeautifulSoup(html,“html.parser”)用解析器来对网页解析,得到一碗soup汤。电影名字的标签在a的span class=‘title’ 中,通过find_all返回所有含标签的对象,然后对标签中去找寻span class中的string,也就是名字然后返回即可。顺便把得到的结果写在了F:\text.txt中。

def test(html,page):f1 = open(r'F:\测试.txt', 'a')soup = BeautifulSoup(html,"html.parser")alink = soup.find_all('a')i=page*25for index in range(len(alink)):if alink[index].find('span',{"class":"title"})!=None:print('第'+str(i+1)+'名'+'---'+alink[index].find('span', {"class": "title"}).string.rjust(20))f1.write('第'+str(i+1)+'名'+'---'+alink[index].find('span', {"class": "title"}).string.rjust(20)+"\n")i=i+1

详细代码如下:

import requests
from bs4 import BeautifulSoup
headers = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36','Host': 'movie.douban.com'
}
def getHTMLText(url):try:r = requests.get(url,headers=headers)r.raise_for_status()r.encoding = r.apparent_encodingreturn r.textexcept:return ""def test(html,page):f1 = open(r'F:\测试.txt', 'a')soup = BeautifulSoup(html,"html.parser")alink = soup.find_all('a')i=page*25for index in range(len(alink)):if alink[index].find('span',{"class":"title"})!=None:print('第'+str(i+1)+'名'+'---'+alink[index].find('span', {"class": "title"}).string.rjust(20))f1.write('第'+str(i+1)+'名'+'---'+alink[index].find('span', {"class": "title"}).string.rjust(20)+"\n")i=i+1def main():page=10for index in range(page):url = "https://movie.douban.com/top250?start="+str(25*index)html = getHTMLText(url)test(html,index)
main()

最最后,新人乍到,希望大家多多支持,码字不易,ball ball点个赞~

第一篇CSDN博客 python爬虫豆瓣排名前250的电影相关推荐

  1. python爬虫豆瓣排名前250的电影

    import requests库和from bs4 import BeautifulSoup库 import requests from bs4 import BeautifulSoup reques ...

  2. 阿呆的第一篇CSDN博客

    阿呆的第一篇CSDN博客 我是谁 为何而来? 往哪里去 一个月时间规划自己的经济收入支出 建一个书单 记录数学推导 我是谁 我是阿呆,武汉某高校工科研究生,在做计算机数值模拟计算方向的入门的学习工作. ...

  3. 我的第一篇CSDN博客文章

    我的第一篇CSDN博客文章 今天是2016-08-30,作为一个临近毕业的在校大学生,马上就要开始九月份的找工作了,这两年在学校里面凭借兴趣以及专业方面的点点滴滴,决定了基本就从事IT编程这方面的工作 ...

  4. 我的第一篇CSDN博客--微信小程序

    我的第一篇CSDN博客 产品定位及功能介绍 微信小程序是一种全新的连接用户与服务的方式,它可以在微信内被便捷地获取和传播,同时具有出色的使用体验 小程序注册 微信小程序是一种全新的连接用户与服务的方式 ...

  5. python爬虫实战 获取豆瓣排名前250的电影信息--基于正则表达式

    一.项目目标 爬取豆瓣TOP250电影的评分.评价人数.短评等信息,并在其保存在txt文件中,html解析方式基于正则表达式 二.确定页面内容 爬虫地址:https://movie.douban.co ...

  6. 关于笔记本屏幕的一点个人意见——鄙人的第一篇CSDN博客

    据说CSDN上面有很多牛人,所以来这里写博我还是斗争了一下的.这是一个比较Pro的博客,而我现在在IT方面基本外行. 关于笔记本屏幕,想信有很多人和我一样发现了一种趋势--越来越多的笔记本采用了反光表 ...

  7. 作为我的第一篇csdn博客吧

    现在大二快结束了,看好多网上大佬们都说写博客是个好习惯,算是总结一下学习过程中的坑吧.本人大学以后很不擅长做笔记,改改毛病吧. 以后试着了解github,听说很流弊. 还有还有,前几天的事情,mgj, ...

  8. 没什么卵用的第一篇CSDN博客

    在这里,写博客只有一个目的. 那就是像记录数学笔记一样写题解. 既然时间长了,可能会遗忘,那么为什么不把它保存起来,日后欣赏呢? 所以我暂时选择了这个地方保存我的题解-- NOIP2017已过.未来在 ...

  9. javaSE探赜索隐之一<小生的第一篇CSDN博客,欢迎大家指正>

    文章目录 java语言的应用 Java语言发展史 Java语言的特点 Java语言体系结构 Java语言的运行机制 Java运行环境 java语言的应用 web程序 安卓app 软件工具 大数据 传感 ...

最新文章

  1. java 折半插入排序_[Java代码] Java实现直接插入排序和折半插入排序算法示例
  2. 自定义字体——自带常见图标,以后就省的切图了
  3. linux 临时设置英文输入,Linux 设置 Rime 默认英文状态
  4. 用php获取header头信息
  5. QT 中使用 c++ 的指针
  6. 小白学JAVA,与你们感同身受,JAVA---day5:关于多态的理解和分析。鲁迅的一句话:总之岁月漫长,然而值得等待。
  7. 化作春泥更护花的上一句是什么?化作春泥更护花作者是谁
  8. 项目入口_住宅小区入口就该这么设计,说得好仔细!
  9. [译]介绍Spark2.4的用于处理复杂数据类型的新内置函数与高阶函数
  10. html的代码作用域,JavaScript作用域的全面解析(附代码)
  11. Java——用户激活邮件工具类
  12. python github 12306 文贤平_GitHub排名第一!免费最强“抢票神器”在手,程序员抢票再不用跪求加速包...
  13. 「Linux」- 安装网易云音乐(Neteast Cloud Music) @20210330
  14. 图解通信原理与案例分析-13:无线对讲机案例--频率调制实现语音点对点无线通信
  15. SGM—代价聚合学习笔记
  16. 概率逗号分号_概率里面的逗号
  17. Android WebView 播放视频无法播放问题和视频适应屏幕大小
  18. 基于vue,解决打开新窗口被浏览器拦截的问题
  19. Flink 去除重复数据 重复数据处理
  20. 微信公众号点歌台php,【php】微信公众平台接口开发--点歌

热门文章

  1. 让生活变成一个游戏 Habitica-超好玩的待办事项App
  2. [转载] 蒲慕明教授的eMail
  3. No.16 br标签 和 wbr标签
  4. 2021 Windows Server 2008 r2 打印服务器安装与配置以及客户端批量安装打印机
  5. Linux性能优化学习
  6. 外文文献——IEEE论文免费下载
  7. 达实智能中标2.1亿元数据中心项目;中芯集成科创板首发过会拟募125亿;福瑞泰克完成近亿美金B轮融资 | 每日大事件...
  8. 计算机软考证书英文名称全翻译
  9. 利用zabbix监控3par光模块的发光功率
  10. informix 外部表