Python使用requests及BeautifulSoup构建爬虫实例代码


Posted in Python onJanuary 24, 2018

本文研究的主要是Python使用requests及BeautifulSoup构建一个网络爬虫,具体步骤如下。

功能说明

在Python下面可使用requests模块请求某个url获取响应的html文件,接着使用BeautifulSoup解析某个html。

案例

假设我要http://maoyan.com/board/4猫眼电影的top100电影的相关信息,如下截图:

Python使用requests及BeautifulSoup构建爬虫实例代码

获取电影的标题及url。

安装requests和BeautifulSoup

使用pip工具安装这两个工具。

pip install requests

Python使用requests及BeautifulSoup构建爬虫实例代码

pip install beautifulsoup4

Python使用requests及BeautifulSoup构建爬虫实例代码

程序

__author__ = 'Qian Yang'
# -*- coding:utf-8 -*-
import requests
from bs4 import BeautifulSoup
def get_one_page(url):
  response= requests.get(url)
  if response.status_code == 200:
    return response.content.decode("utf8","ignore").encode("gbk","ignore")
#采用BeautifulSoup解析
def bs4_paraser(html):
  all_value = []
  value = {}
  soup = BeautifulSoup(html,'html.parser')
  # 获取每一个电影
  all_div_item = soup.find_all('div', attrs={'class': 'movie-item-info'})
  for r in all_div_item:
    # 获取电影的名称和url
    title = r.find_all(name="p",attrs={"class":"name"})[0].string
    movie_url = r.find_all('p', attrs={'class': 'name'})[0].a['href']
    value['title'] = title
    value['movie_url'] = movie_url
    all_value.append(value)
    value = {}
  return all_value

def main():
  url = 'http://maoyan.com/board/4'
  html = get_one_page(url)
  all_value = bs4_paraser(html)
  print(all_value)

if __name__ == '__main__':
  main()

代码测试可用,实现效果:

Python使用requests及BeautifulSoup构建爬虫实例代码

总结

以上就是本文关于Python使用requests及BeautifulSoup构建爬虫实例代码的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
python解析html提取数据,并生成word文档实例解析
Jan 22 Python
Django中间件工作流程及写法实例代码
Feb 06 Python
python: line=f.readlines()消除line中\n的方法
Mar 19 Python
Django读取Mysql数据并显示在前端的实例
May 27 Python
python实现简单加密解密机制
Mar 19 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
Jul 07 Python
python实现车牌识别的示例代码
Aug 05 Python
Django ORM 查询管理器源码解析
Aug 05 Python
Python小程序 控制鼠标循环点击代码实例
Oct 08 Python
Python大数据之从网页上爬取数据的方法详解
Nov 16 Python
使用IPython或Spyder将省略号表示的内容完整输出
Apr 20 Python
python Tkinter的简单入门教程
Apr 11 Python
Python3结合Dlib实现人脸识别和剪切
Jan 24 #Python
深入浅析Python中的yield关键字
Jan 24 #Python
Python3.6安装及引入Requests库的实现方法
Jan 24 #Python
pycharm+django创建一个搜索网页实例代码
Jan 24 #Python
Python数据类型中的“冒号“[::]——分片与步长操作示例
Jan 24 #Python
Sublime开发python程序的示例代码
Jan 24 #Python
安装python3的时候就是输入python3死活没有反应的解决方法
Jan 24 #Python
You might like
PHP验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
php判断对象是派生自哪个类的方法
2015/06/20 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
2018/05/21 PHP
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
js创建数据共享接口——简化框架之间相互传值
2011/10/23 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
jcrop基本参数一览
2013/07/16 Javascript
jQuery拖拽div实现思路
2014/02/19 Javascript
jquery ajax 如何向jsp提交表单数据
2015/08/23 Javascript
javascript实现拖放效果
2015/12/16 Javascript
VUEJS实战之利用laypage插件实现分页(3)
2016/06/13 Javascript
javascript事件的传播基础实例讲解(35)
2017/02/14 Javascript
JS实现的判断方法、变量是否存在功能示例
2020/03/28 Javascript
Vuex mutitons和actions初使用详解
2019/03/04 Javascript
JavaScript在web自动化测试中的作用示例详解
2019/08/25 Javascript
JavaScript中条件语句的优化技巧总结
2020/12/04 Javascript
[36:22]VP vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
Python 文件重命名工具代码
2009/07/26 Python
使用Python将数组的元素导出到变量中(unpacking)
2016/10/27 Python
利用Python代码实现数据可视化的5种方法详解
2018/03/25 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
Python3爬虫学习之MySQL数据库存储爬取的信息详解
2018/12/12 Python
深入理解Python异常处理的哲学
2019/02/01 Python
PyTorch的Optimizer训练工具的实现
2019/08/18 Python
Django--权限Permissions的例子
2019/08/28 Python
Python第三方包之DingDingBot钉钉机器人
2020/04/09 Python
Python Celery异步任务队列使用方法解析
2020/08/10 Python
Python Merge函数原理及用法解析
2020/09/16 Python
numba提升python运行速度的实例方法
2021/01/25 Python
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
Eyeko美国:屡获殊荣的睫毛膏、眼线笔和眉妆
2018/07/05 全球购物
日语系毕业生推荐信
2013/11/11 职场文书
文秘专业应届生求职信
2014/05/26 职场文书
师德师风培训感言
2015/08/03 职场文书
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis