有点瑕疵,需要改进

#1.获取网页源代码
#2.解析数据,获取到自己想要的内容
#3.保存数据import re
import time
import requests
import csvfor i in range(0,25):n=i*25url='https://movie.douban.com/top250?start='+str(n)header={"Cookie": 'bid=W9LftjwdnG0; douban-fav-remind=1; __gads=ID=41bcea934a3c4395-22fb6b939ec900d8:T=1624083400:RT=1624083400:S=ALNI_MYPXBu1mjn03x8CNBfjvfsq0-vsUQ; _ga=GA1.2.909847905.1624083402; ll="108309"; _vwo_uuid_v2=DD671F298AFD7FA9272C53146D518B3E0|c2f0060def89c140abb182e52b239d49; _ga=GA1.3.909847905.1624083402; __utmz=30149280.1635140575.3.3.utmcsr=baidu|utmccn=(organic)|utmcmd=organic; ct=y; dbcl2="246515829:7icG4avgWbE"; push_doumail_num=0; push_noty_num=0; __utmv=30149280.24651; __utmz=223695111.1635827335.12.4.utmcsr=douban.com|utmccn=(referral)|utmcmd=referral|utmcct=/; ck=eDr-; ap_v=0,6.0; __utmc=30149280; __utmc=223695111; _pk_ref.100001.4cf6=%5B%22%22%2C%22%22%2C1636517977%2C%22https%3A%2F%2Fwww.douban.com%2F%22%5D; _pk_ses.100001.4cf6=*; __utma=30149280.909847905.1624083402.1636513873.1636517977.19; __utma=223695111.909847905.1624083402.1636513873.1636517977.16; __utmb=223695111.0.10.1636517977; __utmt=1; __utmb=30149280.6.9.1636519264670; _pk_id.100001.4cf6=f2581a16f3a4e759.1634360027.16.1636519267.1636513873.',"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36"}response=requests.get(url,headers=header)# print(response)response.encoding='utf-8'   #对网页源代码转义成中文html=response.text  #得到网页源代码#制定正则规则patter=re.compile(r'<li>.*? <span class="title">(?P<name>.*?)</span>.*?'r' <div class="bd">.*?<p class="">.*?<br>(?P<year>.*?)&nbsp.*?</p>.*?'r'<span class="rating_num" property="v:average">(?P<ratingnum>.*?)</span>.*?'r'<span>(?P<preson>.*?)人评价</span>.*? 'r'</div>.*?<p class="quote">.*?<span class="inq">(?P<stence>.*?)</span>.*?</p>.*?<p>',re.S)result=patter.finditer(html)    #通过正则匹配,匹配出自己想要的内容,返回一个迭代器with open("daoban.csv",mode='a',newline='') as f:   #防止覆盖,将mode=‘w’改为‘a’,直接在后面最加,但你得先创建出daoban。csv这个文件csvwriter=csv.writer(f) #创建一个写入的对象for i in result:# print(i.group('name'))# print(i.group('year').strip())# print(i.group('ratingnum'))# print(i.group('preson'))dict=i.groupdict()  #将匹配出的结果输出成字典dict['year']=dict['year'].strip()   #对年份进行规范处理# if len(dict['stence'])==0:#     dict['stence']=null       #因为我想要匹配到的一句话概述,有些影片没有,有些影片有,为了防止覆盖而设置,但是结果依然解决不了,所有这是本代码有问题的小点csvwriter.writerow(dict.values())# print(dict)time.sleep(0.01)    #,爬取一个页面休眠一会,模拟用户行为
print("ok")

运行结果:

爬虫豆瓣top250代码相关推荐

  1. 爬虫-豆瓣top250,东方财富网动态数据

    ~满满干货分享 一.豆瓣top250爬取过程 (学习视频:Python爬虫编程基础5天速成(2021全新合集)Python入门+数据分析_哔哩哔哩_bilibili) 1.爬取网页 def askUR ...

  2. 爬虫豆瓣TOP250电影数据

    今天是开通博客的第一天 目的 记录 爬取豆瓣TOP250电影数据 目的 我写博客的目的很简单,主要是想记录一些自己学习python的历程,后期包括一些其他方面的学习,目前在看唐松老师写的<Pyt ...

  3. 爬虫——豆瓣top250电影爬取实验

    1.获取头部 我们首先需要去到目标网址豆瓣top250上,点开'检查'选项,获取头部信息,具体见下图: 我们赋值user-agent和host的信息,这是一个爬虫隐身的最好方法. 于是有以下代码: h ...

  4. 《Forward团队-爬虫豆瓣top250项目-设计文档》

    队长博客:http://www.cnblogs.com/mazhuangmz/ 成员:马壮,李志宇,刘子轩,年光宇,邢云淇,张良 设计方案: 1.能分析HTML语言: 2.提取重要数据,并保存为文本文 ...

  5. Forward团队-爬虫豆瓣top250项目-设计文档

    组长地址:http://www.cnblogs.com/mazhuangmz/p/7603594.html 成员:马壮,李志宇,刘子轩,年光宇,邢云淇,张良 设计方案: 1.能分析HTML语言: 2. ...

  6. Forward团队-爬虫豆瓣top250项目-模块开发过程

    项目托管平台地址:https://github.com/xyhcq/top250 开发模块功能: 写入文件功能 开发时间:3小时 实现将爬取到的信息写入到文件中的功能 实现过程: # 打开文件 f=o ...

  7. 爬虫——豆瓣Top250

    使用requset库和bs4解析,最后保存为csv文件 import requests from bs4 import BeautifulSoup import pandas as pd import ...

  8. 团队-爬虫豆瓣top250项目-模块开发过程

    项目托管平台地址:https://gitee.com/ningshuyoumeng/TuanDui-PaChongDouBantop250XiangMu-MoKuaiKaiFa 开发模块功能: 功获取 ...

  9. 爬虫豆瓣top250项目-开发文档

    项目托管平台地址:https://github.com/gengwenhao/GetTop250.git 负责内容:1.使用python的request库先获取网页内容下来 2.再使用一个好用的lxm ...

  10. 团队-爬虫豆瓣top250项目-项目进度

    注: 正则表达式在线检测工具:http://tool.oschina.net/regex/ 进程: 1.源代码HTML #将url转换为HTML源码 def getHtml(url):     try ...

最新文章

  1. 邬贺铨:工业物联网的技术与前景
  2. 453. Minimum Moves to Equal Array Elements (python)
  3. electron android编译,Tiny4412_Android编译步骤
  4. 【转】WebService WSDL结构分析
  5. Chain of Responsibility(责任链)
  6. springboot输出日志到文件配置
  7. 微信小程序获取Token 存储2小时
  8. bash shell之数组使用
  9. IBM刀片服务器管理模块恢复出厂默认值实战
  10. (持续更新)C语言笔试题整理
  11. [软件工程] 形式化说明技术
  12. python中等高线填充颜色_Matplotlib:使用透明颜色填充等高线图
  13. 固态硬盘和机械硬盘区别 固态硬盘和机械硬盘的优缺点
  14. SVN commit的时候报错conflicted state
  15. 2023年计算机考研数学考一还是二?考研数学一二三区别
  16. debian 安装php7_Ubuntu/Debian安装PHP 7.2教程
  17. 积分激活大数据生态圈 堪比虚拟货币
  18. D. Feeding Chicken(模拟)
  19. Windows Server 2016之RDS部署之添加RD虚拟化主机
  20. 家用简单电线路图_家庭电路安装走线图解析,教你4步快速布线

热门文章

  1. PageHelper获取数据总条数
  2. 9月30日skype事件
  3. MSP430学习笔记1——msp430概述
  4. < 知识拓展:CSS 中常用的计量单位有哪些? >
  5. 中科银谷:企业工商数据工商查询API接口应该如何选择?
  6. 如何在 Unity Editor 中录制游戏界面
  7. 鹏业安装算量复制工程量
  8. 【数学建模】实验设计方法
  9. 网页唤起QQ在线聊天
  10. 2021 年 8 月程序员工资出炉啦!北京以18904元位居榜首