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按照多个字符对字符串进行分割的方法
Mar 17 Python
python实现定时同步本机与北京时间的方法
Mar 24 Python
Python中的time模块与datetime模块用法总结
Jun 30 Python
python画折线图的程序
Jul 26 Python
django使用LDAP验证的方法示例
Dec 10 Python
Python数据可视化教程之Matplotlib实现各种图表实例
Jan 13 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
Feb 29 Python
python实现飞船大战
Apr 24 Python
Python函数调用追踪实现代码
Nov 27 Python
selenium学习教程之定位以及切换frame(iframe)
Jan 04 Python
PyQt5 显示超清高分辨率图片的方法
Apr 11 Python
Python开发工具Pycharm的安装以及使用步骤总结
Jun 24 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设计模式之享元模式分析【星际争霸游戏案例】
2020/03/23 PHP
Javascript控制页面链接在新窗口打开具体方法
2013/08/16 Javascript
jQuery.fn和jQuery.prototype区别介绍
2013/10/05 Javascript
jQuery中:button选择器用法实例
2015/01/04 Javascript
jQuery仿天猫实现超炫的加入购物车
2015/05/04 Javascript
去除html代码里面的script正则方法
2016/05/19 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
Web纯前端“旭日图”实现元素周期表
2017/03/10 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
微信小程序实现简单跑马灯效果
2020/05/26 Javascript
node.js实现上传文件功能
2019/07/15 Javascript
解决Layui中layer报错的问题
2019/09/03 Javascript
Vue实现剪贴板复制功能
2019/12/31 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
[44:15]国士无双DOTA2 6.82版本详解(上)
2014/09/28 DOTA
[01:56]林书豪DOTA2上海特级锦标赛励志短片
2016/03/05 DOTA
[00:32]2018DOTA2亚洲邀请赛VG出场
2018/04/03 DOTA
python装饰器使用方法实例
2013/11/21 Python
Python编程修改MP3文件名称的方法
2017/04/19 Python
Python实现统计代码行的方法分析
2017/07/12 Python
python 实现一个贴吧图片爬虫的示例
2017/10/12 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
python 处理数字,把大于上限的数字置零实现方法
2019/01/28 Python
Python实现钉钉订阅消息功能
2020/01/14 Python
将tf.batch_matmul替换成tf.matmul的实现
2020/06/18 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
携程英文网站:Trip.com
2017/02/07 全球购物
Mankind美国/加拿大:英国领先的男士美容护发用品公司
2018/12/05 全球购物
三八节标语
2014/06/27 职场文书
公司员工安全协议书
2014/11/21 职场文书
中学生自我评价范文
2015/03/03 职场文书
2016年会开场白台词
2015/06/01 职场文书
springboot+WebMagic+MyBatis爬虫框架的使用
2021/08/07 Java/Android
使用RedisTemplat实现简单的分布式锁
2021/11/20 Redis
Vue 打包后相对路径的引用问题
2022/06/05 Vue.js