Python使用requests及BeautifulSoup构建爬虫实例代码

 更新时间:2018年01月24日 11:11:13   作者:sober_qianyang  
这篇文章主要介绍了Python使用requests及BeautifulSoup构建爬虫,介绍了具体操作步骤和实例代码等相关内容,小编觉得还是挺不错的,这里分享给大家,需要的朋友可以参考下

本文研究的主要是Python使用requests及BeautifulSoup构建一个网络爬虫,具体步骤如下。

功能说明

在Python下面可使用requests模块请求某个url获取响应的html文件,接着使用BeautifulSoup解析某个html。

案例

假设我要http://maoyan.com/board/4猫眼电影的top100电影的相关信息,如下截图:

获取电影的标题及url。

安装requests和BeautifulSoup

使用pip工具安装这两个工具。

pip install requests

pip install beautifulsoup4

程序

__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 dask灵活的并行计算库应用场景示例

    探索python dask灵活的并行计算库应用场景示例

    这篇文章主要介绍了探索python dask灵活的并行计算库应用场景示例,Dask 是 Python 中的一个灵活的并行计算库,允许用户利用 CPU 内核的强大功能,对大于内存的数据集执行分布式计算
    2024-01-01
  • python进度条显示之tqmd模块

    python进度条显示之tqmd模块

    这篇文章主要介绍了python进度条显示之tqmd模块,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-08-08
  • python实现在sqlite动态创建表的方法

    python实现在sqlite动态创建表的方法

    这篇文章主要介绍了python实现在sqlite动态创建表的方法,涉及Python操作SQLite数据库创建数据表的技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-05-05
  • python实现每天定时发送邮件的流程步骤

    python实现每天定时发送邮件的流程步骤

    这篇文章主要介绍了python实现每天定时发送邮件的流程步骤,要编写一个用于自动发送每日电子邮件报告的 Python 脚本,并配置它在每天的特定时间发送电子邮件,文中给大家介绍了详细步骤和示例代码,需要的朋友可以参考下
    2024-08-08
  • Python模块的加载讲解

    Python模块的加载讲解

    今天小编就为大家分享一篇关于Python模块的加载讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01
  • pytorch+lstm实现的pos示例

    pytorch+lstm实现的pos示例

    今天小编就为大家分享一篇pytorch+lstm实现的pos示例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-01-01
  • Python实现层次分析法及自调节层次分析法的示例

    Python实现层次分析法及自调节层次分析法的示例

    这篇文章主要介绍了Python实现层次分析法及自调节层次分析法的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • python实战之德州扑克第三步-比较大小

    python实战之德州扑克第三步-比较大小

    这篇文章主要介绍了python实战之德州扑克第三步-比较大小,稳中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-04-04
  • Python PaddleNLP开源实现快递单信息抽取

    Python PaddleNLP开源实现快递单信息抽取

    这篇文章主要为大家介绍了Python PaddleNLP开源项目实现对快递单信息抽取,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • python利用platform模块获取系统信息

    python利用platform模块获取系统信息

    这篇文章主要介绍了python利用platform模块获取系统信息,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-10-10

最新评论