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

yipeiwu_com7年前Python爬虫

本文研究的主要是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抓取网页中链接的静态图片

本文实例为大家分享了python抓取网页中链接的静态图片的具体代码,供大家参考,具体内容如下 # -*- coding:utf-8 -*- #http://tieba.baid...

零基础写python爬虫之抓取百度贴吧代码分享

这里就不给大家废话了,直接上代码,代码的解释都在注释里面,看不懂的也别来问我,好好学学基础知识去! 复制代码 代码如下: # -*- coding: utf-8 -*- #-------...

Python爬虫爬取新浪微博内容示例【基于代理IP】

Python爬虫爬取新浪微博内容示例【基于代理IP】

本文实例讲述了Python爬虫爬取新浪微博内容。分享给大家供大家参考,具体如下: 用Python编写爬虫,爬取微博大V的微博内容,本文以女神的微博为例(爬新浪m站:https://m.w...

python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比

python使用BeautifulSoup与正则表达式爬取时光网不同地区top100电影并对比

前言 还有一年多就要毕业了,不准备考研的我要着手准备找实习及工作了,所以一直没有更新。 因为Python是自学不久,发现很久不用的话以前学过的很多方法就忘了,今天打算使用简单的Beaut...

Python爬虫包BeautifulSoup异常处理(二)

面对网络不稳定,页面更新等问题,很可能出现程序异常的问题,所以我们要对程序进行一些异常处理。大家可能觉得处理异常是一个比较麻烦的活,但在面对复杂网页和任务的时候,无疑成为一个很好的代码习...