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

作者:sober_qianyang 时间:2021-08-13 11:33:13 

本文研究的主要是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构建爬虫实例代码

来源:http://blog.csdn.net/qy20115549/article/details/78111615

标签:python,requests,beautifulsoup,爬虫
0
投稿

猜你喜欢

  • 使用python调用zxing库生成二维码图片详解

    2022-03-19 06:41:09
  • Python实现外星人去哪了小游戏详细代码

    2023-08-07 13:42:44
  • Python通过matplotlib画双层饼图及环形图简单示例

    2021-09-14 11:08:18
  • Centos6.5和Centos7 php环境搭建方法

    2023-11-14 19:25:38
  • Mysql事务处理详解

    2024-01-21 18:15:27
  • 三行代码使用Python将视频转Gif的方法示例

    2021-02-28 13:53:39
  • 详解Python字符串原理与使用的深度总结

    2021-09-17 17:31:14
  • mysql 一个较特殊的问题:You can't specify target table 'wms_cabinet_form'

    2024-01-24 19:07:13
  • Django 日志配置按日期滚动的方法

    2021-02-02 08:27:01
  • Python OpenCV中的resize()函数的使用

    2022-03-23 23:11:56
  • 微信小程序下载工具及调试详解

    2022-10-30 09:06:05
  • Golang实现http server提供压缩文件下载功能

    2024-05-09 14:56:00
  • Django REST Framework序列化外键获取外键的值方法

    2022-02-23 16:03:14
  • python实现图像全景拼接

    2023-05-08 13:29:24
  • Google logo “我的中国”谷歌国际少年绘画大赛小学1-3年级

    2008-12-19 12:26:00
  • OpenCV图像识别之姿态估计Pose Estimation学习

    2023-08-10 14:25:28
  • 仿jQuery的siblings效果的js代码

    2024-04-28 09:36:34
  • Python编程实现及时获取新邮件的方法示例

    2022-09-28 16:52:15
  • MySQL插入emoji表情失败问题的解决方法

    2024-01-24 05:26:05
  • Oracle 存储过程教程

    2009-10-24 18:05:00
  • asp之家 网络编程 m.aspxhome.com