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页面编码
Apr 08 Python
python搭建虚拟环境的步骤详解
Sep 27 Python
Python 正则表达式的高级用法
Dec 04 Python
Python 将Matrix、Dict保存到文件的方法
Oct 30 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
Jun 26 Python
python tkinter库实现气泡屏保和锁屏
Jul 29 Python
python 利用jinja2模板生成html代码实例
Oct 10 Python
python pyqtgraph 保存图片到本地的实例
Mar 14 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 Python
python装饰器代码深入讲解
Mar 01 Python
Python利器openpyxl之操作excel表格
Apr 17 Python
python 判断字符串当中是否包含字符(str.contain)
Jun 01 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之第五天
2006/10/09 PHP
php中通过正则表达式下载内容中的远程图片的函数代码
2012/01/10 PHP
zf框架db类的分页示例分享
2014/03/14 PHP
PHP判断上传文件类型的解决办法
2015/10/20 PHP
利用 fsockopen() 函数开放端口扫描器的实例
2017/08/19 PHP
jQuery实现可用于博客的动态滑动菜单
2015/03/09 Javascript
JavaScript生成SQL查询表单的方法
2015/08/13 Javascript
JavaScript Math 对象常用方法总结
2016/04/28 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
2018/08/14 Javascript
VUE+Element UI实现简单的表格行内编辑效果的示例的代码
2018/10/31 Javascript
微信小程序实现的一键拨号功能示例
2019/04/24 Javascript
微信小程序分包加载代码实现方法详解
2019/09/23 Javascript
vue路由的配置和页面切换详解
2020/09/09 Javascript
Python中使用item()方法遍历字典的例子
2014/08/26 Python
Python max内置函数详细介绍
2016/11/17 Python
Python中字典的setdefault()方法教程
2017/02/07 Python
Python 画出来六维图
2019/07/26 Python
Flask框架实现的前端RSA加密与后端Python解密功能详解
2019/08/13 Python
详解Python图像处理库Pillow常用使用方法
2019/09/02 Python
浅谈图像处理中掩膜(mask)的意义
2020/02/19 Python
Python 从attribute到property详解
2020/03/05 Python
详解Python3中的 input() 函数
2020/03/18 Python
python搜索算法原理及实例讲解
2020/11/18 Python
canvas 基础之图像处理的使用
2020/04/10 HTML / CSS
video实现有声音自动播放的实现方法
2020/05/20 HTML / CSS
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
村官学习十八大感想
2014/01/15 职场文书
小学安全教育材料
2014/02/17 职场文书
兴趣小组活动总结
2014/05/05 职场文书
法学自荐信
2014/06/20 职场文书
全国法院系统开展党的群众路线教育实践活动综述(全文)
2014/10/25 职场文书
冲出亚马逊观后感
2015/06/03 职场文书
三好学生主要事迹怎么写
2015/11/03 职场文书
Nginx四层负载均衡的配置指南
2021/06/11 Servers