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

优采云 发布时间: 2020-08-10 14:19

  Python用做数据处理还是相当不错的,如果你想要做爬虫,Python是挺好的选择,它有很多早已写好的类包,只要调用,即可完成好多复杂的功能,此文中所有的功能都是基于BeautifulSoup这个包。

  1 Pyhton获取网页的内容(也就是源代码)

  page = urllib2.urlopen(url)

contents = page.read()

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

print(contents)

  url代表网址,contents代表网址所对应的源代码,urllib2是须要用到的包,以上三句代码才能获得网页的整个源代码

  2 获取网页中想要的内容(先要获得网页源代码,再剖析网页源代码,找所对应的标签,然后提取出标签中的内容)

  2.1 以豆瓣影片排行为反例

  网址是,进入网址后就出现如下的图

  

  现在我须要获得当前页面的所有影片的名子,评分,评价人数,链接

  

  由上图画白色圆圈的是我想得到的内容,画*敏*感*词*横线的为所对应的标签,这样就剖析完了,现在就是写代码实现,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人工客服


线