python爬虫实战(一)——豆瓣top250(re)
文章目录
- 一 . 原理
- 二 . 注意点
- 1 . 返回403
- 2 . 循环获取页面数据
- 3 . 正则表达式
- 三 . 代码
一 . 原理
python实战的第一个项目基本上都是豆瓣的top250吧hhhh。
这次采取的是正则提取内容,用来熟悉正则表达式
首先要拿到页面的源代码,然后通过观察,编写正则表达式来提取出我们想要的内容,最后通过一个while循环来提取到每个网页上的内容
二 . 注意点
1 . 返回403
在写完request的时候,可以打印一下返回的respond,看看是否返回200,即正确请求
如果返回的是403的话,记得加一个UA(User Agent),因为如果不加UA的话,发出的请求默认UA是python,看不出来是个浏览器,所以会被拦截,所以我们要伪装
2 . 循环获取页面数据
这里我是用的while循环,记得open()创建文件时,mode不能选择’w’,因为’w’模式是覆盖数据然后重新书写,就因为这个东西改了整整一天bug呜呜呜
mode选择位’a’或者’a+'即可
3 . 正则表达式
书写正则表达式老复杂了,因为我是用VS code写的代码,所以大家注意一些高亮语法,来尽量避免错误。
同时在看网页源代码的时候千万千万不要看岔了,我又因为看岔了改了半天bug呜呜呜。
三 . 代码
# 拿到页面源代码
# 正则提取内容
import requests
import re
import csvflag = 0
while flag <= 225:url = "https://movie.douban.com/top250""?start=" + str(flag) + "&filter="myHeader = {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.110 Safari/537.36"}res1 = requests.get(url,headers=myHeader)print(res1)print(flag)pagecontent = res1.text# 解析数据obj = re.compile(r'<li>.*?<div class="item">.*?<span class="title">(?P<name>.*?)' r'</span>.*?<p class="">.*?<br>(?P<year>.*?) 'r'.*?<span class="rating_num" property="v:average">(?P<score>.*?)</span>'r'.*?<span>(?P<number>.*?)</span>',re.S)res2 = obj.finditer(pagecontent)#print(res)f = open("data.csv", mode='a+',encoding='utf-8')csvwriter = csv.writer(f)for i in res2:# print(i.group("name"))# print(i.group("year").strip())# print(i.group("score"))# print(i.group("number"))dic = i.groupdict()dic['year'] = dic['year'].strip() # 对年份进行单独处理csvwriter.writerow(dic.values())flag += 25
print("over!")
python爬虫实战(一)——豆瓣top250(re)相关推荐
- python爬虫拉取豆瓣Top250数据
python爬虫拉取豆瓣Top250数据 利用request和正则表达式抓取豆瓣电影Top250的相关内容,提取出电影的名称.时间.评分和图片等信息,提取的站点url为https://movie.do ...
- python爬虫实战 获取豆瓣排名前250的电影信息--基于正则表达式
一.项目目标 爬取豆瓣TOP250电影的评分.评价人数.短评等信息,并在其保存在txt文件中,html解析方式基于正则表达式 二.确定页面内容 爬虫地址:https://movie.douban.co ...
- python爬虫爬取豆瓣top250电影影评
信息系统课程项目,小组准备做一个电影推荐系统,自己选了觉得很有趣的资源模块,需要获取电影的评价资源等信息.花了大约一周看Web Scraping with Python这本书,对爬虫有了大体但是初略的 ...
- Python爬虫爬取豆瓣TOP250和网易云歌单
python爬虫(网易云)笔记 @(python学习) 先推荐看一下b站的视频链接如下:https://www.bilibili.com/video/BV12E411A7ZQ?from=search& ...
- python爬虫——爬取豆瓣TOP250电影
相信很多朋友在看一部电影的时候喜欢先去豆瓣找一下网友对该片的评价.豆瓣作为国内最权威的电影评分网站,虽然有不少水军和精日精美分子,但是TOP250的电影还是不错的,值得一看. 爬取目标 本文将爬取豆瓣 ...
- python爬虫--爬取豆瓣top250电影名
关于模拟浏览器登录的header,可以在相应网站按F12调取出编辑器,点击netwook,如下: 以便于不会被网站反爬虫拒绝. 1 import requests 2 from bs4 import ...
- python爬虫实战—豆瓣电影TOP250
系列文章目录 python爬虫实战 前言 本文主要用python爬取豆瓣电影TOP250数据并将爬取到的数据保存到MySQL中.同时也介绍了该项目中遇到的问题. 爬取内容:电影名称,电影别名,导演,主 ...
- Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(下)
在Python爬虫实战(1) | 爬取豆瓣网排名前250的电影(上)中,我们最后爬出来的结果不是很完美,这对于"精益求精.追求完美的"程序猿来说怎么能够甘心 所以,今天,用pyth ...
- Python爬取豆瓣音乐存储MongoDB数据库(Python爬虫实战1)
Python爬取豆瓣音乐存储MongoDB数据库(Python爬虫实战1) 1. 爬虫设计的技术 1)数据获取,通过http获取网站的数据,如urllib,urllib2,requests等模块: ...
最新文章
- 遗传算法详解(GA)
- 计算机的发展英语600词,急求一份有关计算机“存储器”的英语作文,600词左右可以多加分!...
- php 二位数组随机,PHP多维数组 php打乱数组二维数组多维数组的简单实例
- ITK:比较两个图像并将输出像素设置为最小值
- JasperReport:概述
- PHP7不能用string类名,解决thinkphp php7 Cannot use ‘String’ as class name as it is reserved...
- 分别用雅可比(Jacobi)迭代法和高斯—塞德尔(Gauss—Seidel)迭代法求解线性方程组(转载)
- 程序员的自我修养笔记 2
- 面试-8种 常用数据结构总结
- HTML 中获取现在时间,实时时间获取
- asp.net入门教程
- Unity Keyword
- 普通蓝牙防丢器已过时,onn推出支持苹果 Find My 防丢器
- mysql 5.6 配置ssl_MySQL 5.6使用 SSL 连接
- windows10LTSC下载与安装
- PLG日志平台搭建: Promtail + Loki + Grafana 全步骤
- 逻辑思维题及答案解析
- 虚拟机不正常关机,到时无法进入文本界面
- 如何使用 mocha 和 sinon 集成单元测试--单元测试示例及分析(上)
- 独家!10省份“12个5G+智慧公交”案例汇总!
热门文章
- 鸿蒙报名多久能用试纸测出来,怀孕多久可以用试纸测出来? 这几点不注意, 会影响准确率...
- Expedia的旅行集市
- 程序员薪资被应届生倒挂7K,不把老员工当人?
- 手机拍摄的视频太大怎么压缩?压缩视频这个方法就够了
- python判断是否到结婚年龄_Python分支语句判断人的合法结婚年龄
- PTA Python作业6函数
- 人生,切忌不要做这些事!
- springboot配置aop切面详解
- 副卡显示无服务器,手机玩游戏时副卡无服务或收不到电话、短信怎么回事?
- Android5g手机排名,流畅度排名前五的安卓手机,全都支持5G,第一名无争议