Spider_基础总结2_Request+Beautifulsoup解析HTML
静态网页 抓取实例:
import requests
from bs4 import BeautifulSoup
def gettop250():
headers={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36',
'Host':'movie.douban.com'
}
move_list=[]
url='https://movie.douban.com/top250?start='
for i in range(10):
r=requests.get(url+str(i*25)+"&filter=",headers=headers,timeout=10) # 不使用headers参数时请求不到结果。
soup=BeautifulSoup(r.text,'lxml') # 可把 r.text换成 r.content
#div_list=soup.find_all('div',class_='hd') #或:
div_list=soup.find('div',class_='article').find_all('div',class_='info')
for move in div_list:
move_list.append(move.a.span.text.strip())
return move_list
print(gettop250())
import requests
from bs4 import BeautifulSoup
def get_movies():
headers={
'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36',
'Host':'movie.douban.com'
}
movie_list=[]
for i in range(0,10):
link='https://movie.douban.com/top250?start='+str(i*25)
r=requests.get(link,headers=headers,timeout=10)
# print(str(i+1),'页响应状态码:',r.status_code)
soup=BeautifulSoup(r.text,'html.parser')
div_list=soup.find_all('div',class_='hd')
for each in div_list:
movie=each.a.span.text.strip() # 相关定位问题参见https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/#id20
movie_list.append(movie)
return movie_list
movies=get_movies()
print(movies)
['肖申克的救赎', '霸王别姬', '阿甘正传', '这个杀手不太冷', '美丽人生', '泰坦尼克号', '千与千寻', '辛德勒的名单', '盗梦空间', '忠犬八公的故事', '海上钢琴师', '楚门的世界', '三傻大闹宝莱坞', '机器人总动员', '放牛班的春天', '星际穿越', '大话西游之大圣娶亲', '熔炉', '疯狂动物城', '无间道', '龙猫', '教父', '当幸福来敲门', '怦然心动', '触不可及', '蝙蝠侠:黑暗骑士', '控方证人', '活着', '乱世佳人', '寻梦环游记', '末代皇帝', '摔跤吧!爸爸', '指环王3:王者无敌', '何以为家', '少年派的奇幻漂流', '飞屋环游记', '十二怒汉', '鬼子来了', '天空之城', '素媛', '哈尔的移动城堡', '大话西游之月光宝盒', '天堂电影院', '罗马假日', '闻香识女人', '辩护人', '哈利·波特与魔法石', '我不是药神', '搏击俱乐部', '死亡诗社', '教父2', '指环王2:双塔奇兵', '狮子王', '大闹天宫', '窃听风暴', '指环王1:魔戒再现', '猫鼠游戏', '两杆大烟枪', '美丽心灵', '饮食男女', '钢琴家', '黑客帝国', '飞越疯人院', 'V字仇杀队', '本杰明·巴顿奇事', '看不见的客人', '让子弹飞', '西西里的美丽传说', '小鞋子', '拯救大兵瑞恩', '海豚湾', '情书', '绿皮书', '穿条纹睡衣的男孩', '音乐之声', '海蒂和爷爷', '美国往事', '致命魔术', '低俗小说', '七宗罪', '沉默的羔羊', '蝴蝶效应', '禁闭岛', '春光乍泄', '心灵捕手', '布达佩斯大饭店', '被嫌弃的松子的一生', '阿凡达', '摩登时代', '剪刀手爱德华', '勇敢的心', '天使爱美丽', '喜剧之王', '致命ID', '加勒比海盗', '断背山', '杀人回忆', '狩猎', '哈利·波特与死亡圣器(下)', '请以你的名字呼唤我', '幽灵公主', '阳光灿烂的日子', '小森林 夏秋篇', '入殓师', '重庆森林', '第六感', '7号房的礼物', '消失的爱人', '红辣椒', '小森林 冬春篇', '爱在黎明破晓前', '一一', '侧耳倾听', '唐伯虎点秋香', '玛丽和马克思', '超脱', '倩女幽魂', '蝙蝠侠:黑暗骑士崛起', '告白', '大鱼', '阳光姐妹淘', '甜蜜蜜', '射雕英雄传之东成西就', '萤火之森', '驯龙高手', '无人知晓', '超能陆战队', '幸福终点站', '借东西的小人阿莉埃蒂', '菊次郎的夏天', '爱在日落黄昏时', '恐怖直播', '完美的世界', '神偷奶爸', '怪兽电力公司', '玩具总动员3', '功夫', '人生果实', '血战钢锯岭', '傲慢与偏见', '风之谷', '时空恋旅人', '教父3', '上帝之城', '天书奇谭', '电锯惊魂', '喜宴', '英雄本色', '被解救的姜戈', '谍影重重3', '七武士', '岁月神偷', '哪吒闹海', '我是山姆', '头号玩家', '釜山行', '疯狂原始人', '纵横四海', '三块广告牌', '心迷宫', '达拉斯买家俱乐部', '萤火虫之墓', '哈利·波特与阿兹卡班的囚徒', '真爱至上', '荒蛮故事', '贫民窟的百万富翁', '东邪西毒', '你的名字。', '记忆碎片', '卢旺达饭店', '爆裂鼓手', '花样年华', '黑天鹅', '忠犬八公物语', '黑客帝国3:矩阵革命', '模仿游戏', '一个叫欧维的男人决定去死', '头脑特工队', '哈利·波特与密室', '你看起来好像很好吃', '雨人', '未麻的部屋', '无敌破坏王', '新世界', '冰川时代', '恋恋笔记本', '海街日记', '二十二', '海边的曼彻斯特', '惊魂记', '房间', '虎口脱险', '恐怖游轮', '奇迹男孩', '魔女宅急便', '人工智能', '雨中曲', '疯狂的石头', '小偷家族', '爱在午夜降临前', '绿里奇迹', '罗生门', '终结者2:审判日', '海洋', '初恋这件小事', '魂断蓝桥', '燃情岁月', '可可西里', '2001太空漫游', '穿越时空的少女', '牯岭街少年杀人事件', '城市之光', '完美陌生人', '无耻混蛋', '新龙门客栈', '源代码', '阿飞正传', '青蛇', '色,戒', '香水', '谍影重重2', '遗愿清单', '地球上的星星', '血钻', '战争之王', '谍影重重', '大佛普拉斯', '猜火车', '疯狂的麦克斯4:狂暴之路', '彗星来的那一夜', '步履不停', '朗读者', '浪潮', '小萝莉的猴神大叔', '再次出发之纽约遇见你', '九品芝麻官', '驴得水', '东京物语', '聚焦', '哈利·波特与火焰杯', '追随', '一次别离', '千钧一发', '我爱你', '黑鹰坠落', '波西米亚狂想曲', '网络谜踪', '四个春天', '发条橙', 'E.T. 外星人']
Spider_基础总结2_Request+Beautifulsoup解析HTML的更多相关文章
- Python爬虫 | Beautifulsoup解析html页面
引入 大多数情况下的需求,我们都会指定去使用聚焦爬虫,也就是爬取页面中指定部分的数据值,而不是整个页面的数据.因此,在聚焦爬虫中使用数据解析.所以,我们的数据爬取的流程为: 指定url 基于reque ...
- 第14.12节 Python中使用BeautifulSoup解析http报文:使用select方法快速定位内容
一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>和<第14.11节 Python中使用BeautifulSo ...
- 第14.11节 Python中使用BeautifulSoup解析http报文:使用查找方法快速定位内容
一. 引言 在<第14.10节 Python中使用BeautifulSoup解析http报文:html标签相关属性的访问>介绍了BeautifulSoup对象的主要属性,通过这些属性可以访 ...
- android基础---->JSON数据的解析
上篇博客,我们谈到了XML两种常用的解析技术,详细可以参见我的博客(android基础---->XMl数据的解析).网络传输另外一种数据格式JSON就是我们今天要讲的,它是比XML体积更小的数据 ...
- BeautifulSoup解析器的选择
BeautifulSoup解析器 在我们使用BeautifulSoup的时候,选择怎样的解析器是至关重要的.使用不同的解析器有可能会出现不同的结果! 今天遇到一个坑,在解析某html的时候.使用htm ...
- android基础---->XMl数据的解析
在网络上传输数据时最常用的格式有两种,XML和JSON,下面首先学一下如何解析XML格式的数据,JSON的解析可以参见我的博客(android基础---->JSON数据的解析).解析XML 格式 ...
- Java基础-处理json字符串解析案例
Java基础-处理json字符串解析案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 作为一名开发人员,想必大家或多或少都有接触到XML文件,XML全称为“extensible ...
- Python3.x的BeautifulSoup解析html常用函数
Python3.x的BeautifulSoup解析html常用函数 1,初始化: soup = BeautifulSoup(html) # html为html源代码字符串,type(html) == ...
- 爬虫基础库之beautifulsoup的简单使用
beautifulsoup的简单使用 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据.官方解释如下: ''' Beautiful Soup提供一些简单的.p ...
随机推荐
- 实现Excel文件的上传和解析
前言 本文思维导图 一.需求描述 实现一个页面上传excel的功能,并对excel中的内容做解析,最后存储在数据库中. 二.代码实现 需求实现思路: 先对上传的文件做校验和解析,这里我们通过Excel ...
- 云原生 go-zero 微服务框架
0. go-zero介绍 go-zero是一个集成了各种工程实践的web和rpc框架.通过弹性设计保障了大并发服务端的稳定性,经受了充分的实战检验. go-zero包含极简的API定义和生成工具goc ...
- 面试官:如何写出让 CPU 跑得更快的代码?
前言 代码都是由 CPU 跑起来的,我们代码写的好与坏就决定了 CPU 的执行效率,特别是在编写计算密集型的程序,更要注重 CPU 的执行效率,否则将会大大影响系统性能. CPU 内部嵌入了 CPU ...
- centos8上使用gitosis管理git项目
零,centos8平台如何安装gitosis服务? 参见:centos8平台安装gitosis服务 地址:https://www.cnblogs.com/architectforest/p/12456 ...
- centos8平台php7.4.2安装phpredis实现对redis的访问
一,下载phpredis 1,官方下载地址: https://github.com/phpredis/phpredis/releases 2,wget下载 [root@yjweb source]# w ...
- centos8使用hostnamectl管理主机名称
一,查看hostnamectl所属的包: [root@yjweb ~]# whereis hostnamectl hostnamectl: /usr/bin/hostnamectl /usr/shar ...
- 通过SQL自动添加流水号
通过SQL自动添加流水号 项目中往往有一些单据流水号或者流程流水号是希望通过新增一条记录后自动产生一个编号的,比如新增一条流程就自动根据当前日期自动添加该流程的流程流水号,下面介绍两种不同类型流水号通 ...
- frp 内网穿透远程桌面(Windows 10)配置
一.服务端配置 服务端需要公网环境,一般用一台云服务器就行了,我选择的是 Linux 服务器,Windows 服务器也是可以的. 下载 frp: wget https://github.com/fat ...
- springboot入门系列(五):SpringBoot连接多RabbitMQ源
SpringBoot连接多RabbitMQ源 在实际开发中,很多场景需要异步处理,这时就需要用到RabbitMQ,而且随着场景的增多程序可能需要连接多个RabbitMQ.SpringBoot本身提供了 ...
- Redis基础——剖析基础数据结构及其用法
这是一个系列的文章,打算把Redis的基础数据结构.高级数据结构.持久化的方式以及高可用的方式都讲一遍,公众号会比其他的平台提前更新,感兴趣的可以提前关注,「SH的全栈笔记」,下面开始正文. 如果你是 ...