Python获取网页的指定内容(如何使用BeautifulSoup工具)

优采云 发布时间: 2020-08-07 15:13

  Python非常适合数据处理. 如果您想成为爬虫,Python是一个不错的选择. 它已经编写了许多软件包. 您只需调用即可完成许多复杂的功能. 本文中的所有功能均基于BeautifulSoup软件包.

  1 Pyhton获取网页的内容(即源代码)

  page = urllib2.urlopen(url)

contents = page.read()

#获得了整个网页的内容也就是源代码

print(contents)

  url代表URL,内容代表URL对应的源代码,urllib2是需要使用的包,以上三句代码可以获取网页的整个源代码

  2在网页中获取所需的内容(首先获取网页的源代码,然后分析网页的源代码,找到相应的标签,然后将其内容提取到标签中)

  2.1以豆瓣电影排名为例

  URL是,输入URL后将出现以下图片

  

  现在,我需要获取当前页面上所有电影的名称,等级,评论者数量和链接

  

  从上面的图片中,红色圆圈是我想要获取的内容,蓝色水平线是对应的标签,因此分析结束了,现在是编写代码来实现,Python提供了许多获取方法所需的内容,在这里我使用BeautifulSoup来实现,非常简单

  #coding:utf-8

'''''

@author: jsjxy

'''

import urllib2

import re

from bs4 import BeautifulSoup

from distutils.filelist import findall

page = urllib2.urlopen('http://movie.douban.com/top250?format=text')

contents = page.read()

#print(contents)

soup = BeautifulSoup(contents,"html.parser")

print("豆瓣电影TOP250" + "\n" +" 影片名 评分 评价人数 链接 ")

for tag in soup.find_all('div', class_='info'):

# print tag

m_name = tag.find('span', class_='title').get_text()

m_rating_score = float(tag.find('span',class_='rating_num').get_text())

m_people = tag.find('div',class_="star")

m_span = m_people.findAll('span')

m_peoplecount = m_span[3].contents[0]

m_url=tag.find('a').get('href')

print( m_name+" " + str(m_rating_score) + " " + m_peoplecount + " " + m_url )

  控制台输出,您也可以写入文件

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线