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 调用VC++的动态链接库(DLL)
Sep 06 Python
构建Python包的五个简单准则简介
Jun 15 Python
各种Python库安装包下载地址与安装过程详细介绍(Windows版)
Nov 02 Python
Python3利用Dlib19.7实现摄像头人脸识别的方法
May 11 Python
详解基于django实现的webssh简单例子
Jul 17 Python
对python插入数据库和生成插入sql的示例讲解
Nov 14 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
May 16 Python
Python3实现将一维数组按标准长度分隔为二维数组
Nov 29 Python
Python MOCK SERVER moco模拟接口测试过程解析
Apr 13 Python
tensorflow中tf.reduce_mean函数的使用
Apr 19 Python
基于pycharm实现批量修改变量名
Jun 02 Python
在CentOS7下安装Python3教程解析
Jul 09 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 简单日历实现代码
2009/10/28 PHP
php从给定url获取文件扩展名的方法
2015/03/14 PHP
PHP中filter函数校验数据的方法详解
2015/07/31 PHP
PHP页面间传递值和保持值的方法
2016/08/24 PHP
TP5框架实现的数据库备份功能示例
2020/04/05 PHP
jquery 最简单的属性菜单
2009/10/08 Javascript
jquery随意添加移除html的实现代码
2011/06/21 Javascript
有关javascript的性能优化 (repaint和reflow)
2013/04/12 Javascript
JavaScript中的ubound函数使用实例
2014/11/04 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
基于jQuery的时间戳与日期间的转化
2019/06/21 jQuery
vue下的@change事件的实现
2019/10/25 Javascript
react PropTypes校验传递的值操作示例
2020/04/28 Javascript
使用原生JS实现滚轮翻页效果的示例代码
2020/05/31 Javascript
vue v-for 点击当前行,获取当前行数据及event当前事件对象的操作
2020/09/10 Javascript
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Pyhton中防止SQL注入的方法
2015/02/05 Python
Python字符串详细介绍
2015/05/09 Python
初学python的操作难点总结(新手必看篇)
2017/08/03 Python
Python3调用微信企业号API发送文本消息代码示例
2017/11/10 Python
利用Python如何生成便签图片详解
2018/07/09 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
对numpy中数组转置的求解以及向量内积计算方法
2018/10/31 Python
python 求一个列表中所有元素的乘积实例
2019/06/11 Python
HTML5输入框下拉菜单功能的示例代码
2020/09/08 HTML / CSS
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
vue+django实现下载文件的示例
2021/03/24 Vue.js
CSS代码检查工具stylelint的使用方法详解
2021/03/27 HTML / CSS
个人简历自我评价八例
2013/10/31 职场文书
汽车维修专业个人求职信范文
2014/01/01 职场文书
还款承诺书范本
2015/01/20 职场文书
赵氏孤儿观后感
2015/06/09 职场文书
海上钢琴师的观后感
2015/06/11 职场文书
python中if和elif的区别介绍
2021/11/07 Python
Java实现经典游戏泡泡堂的示例代码
2022/04/04 Java/Android