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中文件操作简明介绍
Apr 13 Python
解析Python中while true的使用
Oct 13 Python
速记Python布尔值
Nov 09 Python
python 处理dataframe中的时间字段方法
Apr 10 Python
numpy实现合并多维矩阵、list的扩展方法
May 08 Python
对pycharm代码整体左移和右移缩进快捷键的介绍
Jul 16 Python
Python模块、包(Package)概念与用法分析
May 31 Python
树莓派实现移动拍照
Jun 22 Python
python判断一个对象是否可迭代的例子
Jul 22 Python
安装Pycharm2019以及配置anconda教程的方法步骤
Nov 11 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
PIP和conda 更换国内安装源的方法步骤
Sep 21 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 pthreads v3下worker和pool的使用方法示例
2020/02/21 PHP
PHP7 foreach() 函数修改
2021/03/09 PHP
JS对外部文件的加载及对IFRMAME的加载的实现,当加载完成后,指定指向方法(方法回调)
2011/07/04 Javascript
jQuery之按钮组件的深入解析
2013/06/19 Javascript
js识别不同浏览器基于userAgent做判断
2014/07/29 Javascript
JS实现网页右侧带动画效果的伸缩窗口代码
2015/10/29 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
AngularJS实现按钮提示与点击变色效果
2016/09/07 Javascript
Node.js中多进程模块Cluster的介绍与使用
2017/05/27 Javascript
vue展示dicom文件医疗系统的实现代码
2018/08/27 Javascript
使用gulp构建前端自动化的方法示例
2018/12/25 Javascript
浅谈js中的bind
2019/03/18 Javascript
详解新手使用vue-router传参时注意事项
2019/06/06 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
使用JS实现动态时钟
2020/03/12 Javascript
VUE+Element实现增删改查的示例源码
2020/11/23 Vue.js
[01:06:07]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS CIS
2014/05/22 DOTA
Python接收Gmail新邮件并发送到gtalk的方法
2015/03/10 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Python爬取数据并写入MySQL数据库的实例
2018/06/21 Python
用python wxpy管理微信公众号并利用微信获取自己的开源数据
2019/07/30 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
python爬虫 批量下载zabbix文档代码实例
2019/08/21 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
python 实现数据库中数据添加、查询与更新的示例代码
2020/12/07 Python
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
日本最大的旅游网站:Rakuten Travel(乐天旅游)
2018/08/02 全球购物
应征英语教师求职信
2013/11/27 职场文书
社区国庆节活动方案
2014/02/05 职场文书
百货商场楼层班组长竞聘书
2014/03/31 职场文书
电子商务助理求职自荐信
2014/04/10 职场文书
行政执法作风整顿剖析材料
2014/10/11 职场文书
八达岭长城导游词
2015/01/30 职场文书
六一儿童节致辞稿(3篇)
2019/07/11 职场文书
如何用python反转图片,视频
2021/04/24 Python