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下载Bing图片(代码)
Nov 07 Python
python复制文件代码实现
Dec 23 Python
Python中常见的数据类型小结
Aug 29 Python
JSONLINT:python的json数据验证库实例解析
Nov 28 Python
解决python使用open打开文件中文乱码的问题
Dec 29 Python
python matplotlib库直方图绘制详解
Aug 10 Python
Flask之pipenv虚拟环境的实现
Nov 26 Python
python 实现矩阵按对角线打印
Nov 29 Python
Python监控服务器实用工具psutil使用解析
Dec 19 Python
python requests模拟登陆github的实现方法
Dec 26 Python
使用python执行shell脚本 并动态传参 及subprocess的使用详解
Mar 06 Python
pytorch finetuning 自己的图片进行训练操作
Jun 05 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
星际RPG字典
2020/03/04 星际争霸
php include的妙用,实现路径加密
2008/07/29 PHP
php实现修改新闻时删除图片的方法
2015/05/12 PHP
php 升级到 5.3+ 后出现的一些错误,如 ereg(); ereg_replace(); 函数报错
2015/12/07 PHP
php使用PDO执行SQL语句的方法分析
2017/02/16 PHP
scrollWidth,clientWidth,offsetWidth的区别
2015/01/13 Javascript
JavaScript数组Array对象增加和删除元素方法总结
2015/01/20 Javascript
AngularJS入门(用ng-repeat指令实现循环输出
2016/05/05 Javascript
JS不用正则验证输入的字符串是否为空(包含空格)的实现代码
2016/06/14 Javascript
AngularJS实现数据列表的增加、删除和上移下移等功能实例
2016/09/05 Javascript
bootstrap-datetimepicker实现只显示到日期的方法
2016/11/25 Javascript
Angularjs验证用户输入的字符串是否为日期时间
2017/06/01 Javascript
jquery+css实现侧边导航栏效果
2017/06/12 jQuery
react-native fetch的具体使用方法
2017/11/01 Javascript
AngularJS基于MVC的复杂操作实例讲解
2017/12/31 Javascript
微信小程序实现滚动消息通知
2018/02/02 Javascript
jQuery实现模拟搜索引擎的智能提示功能简单示例
2019/01/27 jQuery
微信小程序如何访问公众号文章
2019/07/08 Javascript
NodeJS 文件夹拷贝以及删除功能
2019/09/03 NodeJs
vue实现tab栏点击高亮效果
2020/08/19 Javascript
vue 实现图片懒加载功能
2020/12/31 Vue.js
Python的Flask框架及Nginx实现静态文件访问限制功能
2016/06/27 Python
简单的python协同过滤程序实例代码
2018/01/31 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
pandas.cut具体使用总结
2019/06/24 Python
python线程join方法原理解析
2020/02/11 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
Made in Design德国:设计师家具、灯具和装饰
2019/10/31 全球购物
美国亚马逊旗下时尚女装网店:SHOPBOP(支持中文)
2020/10/17 全球购物
区三好学生主要事迹
2014/01/30 职场文书
开展党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
领导班子作风建设剖析材料
2014/10/11 职场文书
2014司机年终工作总结
2014/12/05 职场文书
运动会宣传稿100字
2015/07/23 职场文书
党章学习心得体会2016
2016/01/14 职场文书
浅谈Node的内存泄露问题
2022/05/06 NodeJs