Python-爬虫实战 简单爬取豆瓣top250电影保存到本地
爬虫原理
- 发送数据
- 获取数据
- 解析数据
- 保存数据
requests请求库
res = requests.get(url="目标网站地址")
获取二进制流方法:res.content
获取文本方法:res.text
re正则模块
re.findall("匹配规则","获取到的数据","匹配模式")
re.findall('<div class="item">.*?<a href="(.*?)">.*?<span class="title">(.*?)</span>.*?<span class="rating_num" property="v:average">(.*?)</span>.*?<span>(.*?)人评价</span>', response.text, re.S)
贪婪匹配:.*? 过滤任何内容
非贪婪匹配:(.*?) 提供内容
with open() 保存数据
with open(): # wt(write + txt) wb (write + bytes)
爬虫精髓
分析网站的通信流程
分析查找数据从何而来
分析目标网站的反爬策略
根据目标网站的反爬策略编写攻击手段,获取数据
json格式化
json是一种第三方的数据格式
python中可以使用方法将json转换为可读取的数据类型
json.jumps() #将python数据格式转换为json格式
json.loads() #将json格式转换为python数据格式
爬取豆瓣电影排行榜top250
#导入requests库
import requests
import json
#分析豆瓣网站每页数据的url,利用for循环将每页进行 解析数据操作
num = 0
for i in range(10):
url = f"https://movie.douban.com/j/chart/top_list?type=24&interval_id=100%3A90&action=&start={num}&limit=20"
num += 20
#获取数据并将获取到的json数据转换为python格式数据类型
w = requests.get(url=url)
w = json.loads(w.text)
#利用json转换完成后为列表类型,可在上面用print(type())查看类型,利用for循环将列表的每个元素读取,进行索引取值。
for line in w:
move_name = line["title"]
move_grade = line["rating"][0]
move_url = line["url"]
move_type = line["types"]
move_rank = line["rank"]
move_list = f'''
电影名字:{move_name}
电影分数:{move_grade}
电影链接:{move_url}
电影类型:{move_type}
电影排行:{move_rank}
'''
#保存数据
with open("douban2.txt","a",encoding="utf8") as f:
f.write(move_list + "\n")
Python-爬虫实战 简单爬取豆瓣top250电影保存到本地的更多相关文章
- Python爬虫实例:爬取豆瓣Top250
入门第一个爬虫一般都是爬这个,实在是太简单.用了 requests 和 bs4 库. 1.检查网页元素,提取所需要的信息并保存.这个用 bs4 就可以,前面的文章中已经有详细的用法阐述. 2.找到下一 ...
- python爬虫+正则表达式实例爬取豆瓣Top250的图片
直接上全部代码 新手上路代码风格可能不太好 import requests import re from fake_useragent import UserAgent #### 用来伪造爬头部信息 ...
- 基础爬虫,谁学谁会,用requests、正则表达式爬取豆瓣Top250电影数据!
爬取豆瓣Top250电影的评分.海报.影评等数据! 本项目是爬虫中最基础的,最简单的一例: 后面会有利用爬虫框架来完成更高级.自动化的爬虫程序. 此项目过程是运用requests请求库来获取h ...
- Python爬虫实战之爬取百度贴吧帖子
大家好,上次我们实验了爬取了糗事百科的段子,那么这次我们来尝试一下爬取百度贴吧的帖子.与上一篇不同的是,这次我们需要用到文件的相关操作. 本篇目标 对百度贴吧的任意帖子进行抓取 指定是否只抓取楼主发帖 ...
- requests爬取豆瓣top250电影信息
''' 1.爬取豆瓣top250电影信息 - 第一页: https://movie.douban.com/top250?start=0&filter= - 第二页: https://movie ...
- Python爬虫入门:爬取豆瓣电影TOP250
一个很简单的爬虫. 从这里学习的,解释的挺好的:https://xlzd.me/2015/12/16/python-crawler-03 分享写这个代码用到了的学习的链接: BeautifulSoup ...
- python爬虫实战之爬取智联职位信息和博客文章信息
1.python爬取招聘信息 简单爬取智联招聘职位信息 # !/usr/bin/env python # -*-coding:utf-8-*- """ @Author ...
- 爬虫实战_爬取豆瓣图书利用csv库存储
读取csv文件 通过csv.reader()和DictReader()两个函数 reader()函数返回一个迭代器 会包含表头 通过next函数可以跳过,但是它只能通过下标访问数据: DictRead ...
- python3爬取豆瓣top250电影
需求:爬取豆瓣电影top250的排名.电影名称.评分.评论人数和一句话影评 环境:python3.6.5 准备工作: 豆瓣电影top250(第1页)网址:https://movie.douban.co ...
随机推荐
- Windows netsh
用法: netsh [-a AliasFile] [-c Context] [-r RemoteMachine] [-u [DomainName\]UserName] [-p Password | * ...
- Windows cd
显示当前目录名或改变当前目录. CHDIR [/D] [drive:][path]CHDIR [..]CD [/D] [drive:][path]CD [..] .. 指定要改成父目录. 键入 C ...
- JS预解析与变量提升
预解析 JavaScript代码的执行是由浏览器中的JavaScript解析器来执行的.JavaScript解析器执行JavaScript代码的时候,分为两个过程:预解析过程和代码执行过程 预解析过程 ...
- java基本类型映射表
- JLOI 2013 卡牌游戏 bzoj3191
题目描述 N个人坐成一圈玩游戏.一开始我们把所有玩家按顺时针从1到N编号.首先第一回合是玩家1作为庄家.每个回合庄家都会随机(即按相等的概率)从卡牌堆里选择一张卡片,假设卡片上的数字为X,则庄家首先把 ...
- try-catch 捕捉不到异常
code: int _tmain(int argc, _TCHAR* argv[]) { cout << "In main." << endl; //定义 ...
- centos7 将home目录空间扩容到根目录
[root@localhost ~]# umount /home/ [root@localhost ~]# lvremove /dev/mapper/centos-home Do you really ...
- 2019-5-29-Roslyn-让-VisualStudio-急速调试底层库方法
title author date CreateTime categories Roslyn 让 VisualStudio 急速调试底层库方法 lindexi 2019-5-29 20:2:9 +08 ...
- leetcode-123-买卖股票的最佳时机③
题目描述: 方法一: class Solution: def maxProfit(self, prices: List[int]) -> int: dp_i1_0 = 0 dp_i1_1 = f ...
- ActiveMQ 传输协议
配置 ActiveMQ安装目录的conf/activemq.xml中的<transportConnectors>标签之内. 配置示例 TCP(默认协议,性能相对可靠) Transmissi ...