python 获取网页指定内容_Python获取网页指定内容(BeautifulSoup工具的使用方法)

本文介绍了如何使用Python的urllib.request和BeautifulSoup库来抓取网页内容。通过实例展示了如何从豆瓣电影TOP250页面提取影片名称、评分、评价人数和链接,同时也提到了反爬取问题和Python3中urllib的变化。
摘要由CSDN通过智能技术生成

page = urllib2.urlopen(url)

contents = page.read()

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

print(contents)

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

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

2.1 以豆瓣电影排名为例子

网址是http://movie.douban.com/top250?format=text,进入网址后就出现如下的图

然后查看源码,找到对应的内容:(直接按f12)

就得到下面这张图:

然后划出重点

然后开始编写代码:

#coding:utf-8

'''''

@author: 徐松伟

'''

import urllib.request

import re

from bs4 import BeautifulSoup

from distutils.filelist import findall

page = urllib.request.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 )

遇到的问题:

安装相关的库文件,会遇到反爬取 。就是说不能一直爬取 。代码经过多次运行以后就会触动该网站的反爬取。

现在python3.X以后urllib2和urllib合并了 所以导入的时候用  import urllib.request  有什么说的不对的地方请评论指出。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值