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编程中的异常处理教程
Aug 21 Python
python 字典(dict)按键和值排序
Jun 28 Python
python 把数据 json格式输出的实例代码
Oct 31 Python
Python温度转换实例分析
Jan 17 Python
python Celery定时任务的示例
Mar 13 Python
用python编写第一个IDA插件的实例
May 29 Python
python实现kNN算法识别手写体数字的示例代码
Aug 16 Python
python 两个一样的字符串用==结果为false问题的解决
Mar 12 Python
解决python 执行sql语句时所传参数含有单引号的问题
Jun 06 Python
Idea安装python显示无SDK问题解决方案
Aug 12 Python
Django给表单添加honeypot验证增加安全性
May 06 Python
pandas提升计算效率的一些方法汇总
May 30 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
帅气的琦玉老师
2020/03/02 日漫
php数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
PHP利用str_replace防注入的方法
2013/11/10 PHP
Laravel框架路由配置总结、设置技巧大全
2014/09/03 PHP
php实现将任意进制数转换成10进制的方法
2015/04/17 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
2016/03/30 PHP
PHP接收App端发送文件流的方法
2016/09/23 PHP
理解Javascript_02_理解undefined和null
2010/10/11 Javascript
JavaScript实现点击按钮后变灰避免多次重复提交
2013/07/15 Javascript
javascript创建createXmlHttpRequest对象示例代码
2014/02/10 Javascript
javascript使用正则获取url上的某个参数
2014/09/04 Javascript
JavaScript实现删除,移动和复制文件的方法
2015/08/05 Javascript
jquery实现图片上传前本地预览功能
2016/05/10 Javascript
jQuery 翻页组件yunm.pager.js实现div局部刷新的思路
2016/08/11 Javascript
使用jquery如何获取时间
2016/10/13 Javascript
Javascript封装id、class与元素选择器方法示例
2017/03/13 Javascript
JS实现延迟隐藏功能的方法(类似QQ头像鼠标放上展示信息)
2017/12/28 Javascript
javascript实现小型区块链功能
2019/04/03 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
Python内置的字符串处理函数整理
2013/01/29 Python
python unittest实现api自动化测试
2018/04/04 Python
python实现生成字符串大小写字母和数字的各种组合
2019/01/01 Python
python交互模式下输入换行/输入多行命令的方法
2019/07/02 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
Python爬取新型冠状病毒“谣言”新闻进行数据分析
2020/02/16 Python
python判断all函数输出结果是否为true的方法
2020/12/03 Python
css3打造一款漂亮的卡哇伊按钮
2013/03/20 HTML / CSS
使用HTML5 Canvas API控制字体的显示与渲染的方法
2016/03/24 HTML / CSS
微软新西兰官方网站:Microsoft New Zealand
2018/08/17 全球购物
松材线虫病防治方案
2014/06/15 职场文书
社团活动总结模板
2014/06/30 职场文书
学校实习推荐信
2015/03/27 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
简单实现一个手持弹幕功能+文字抖动特效
2021/03/31 HTML / CSS
Nginx配置80端口访问8080及项目名地址方法解析
2021/03/31 Servers
Go timer如何调度
2021/06/09 Golang