AI&BigData训练营笔记一:Python实现爬取HTML页面内容

系统环境:

操作系统:Windows8.1专业版 64bit
Python:anaconda、Python2.7
Python packages:requests、beautifulsoup

Background:

在使用Python进行爬虫开发时,我们经常需要爬取一些HTML页面的内容。

解决方法:

在编程实现之前,需要按照以上的系统环境,配置好自己Python环境,同时安装好requests、beautifulsoup这两个Python packages。

# -*- coding: utf-8 -*-
"""
Created on Sun Apr 22 09:18:25 2018

@author: gmn
"""
'Python实现爬取HTML页面内容'

#导入requests包
import requests
#BeautifulSoup用于页面解析
from bs4 import BeautifulSoup
#requests get请求
#requests.get里面返回的就是纯网页文件,下面需要进一步的解析
req=requests.get('http://finance.eastmoney.com/news/cywjh.html') #东方财富网
#页面数据结构化
bs=BeautifulSoup(req.content,'html.parser')
# =============================================================================
# 页面解析
# =============================================================================
#获取类标签为title的所有p段落,即为该页面的新闻报道的标题
#对于为什么是选择class='title'的段落,这个需要通过浏览器的开发工具来查看具体的HTML源代码。
p_title=bs.find_all('p',attrs={'class':'title'})
#print p_title[0] 
#循环获取该页面的所有新闻标题
for info in p_title:
    #获取p标签里面的a标签的url
    url=info.a.get('href')
    #print url
    #详细页面get请求
    req=requests.get(url)
    #页面数据结构化
    bs1=BeautifulSoup(req.content,'html.parser')
    # =============================================================================
    # 笔记:
    # find()方法为找到第一个符合条件的对象
    # find_all()方法为找到所有符合条件的对象
    # =============================================================================
    #详细页面解析
    title=bs1.find('h1').text  #找到第一个h1标签
    p_all=bs1.find_all('p')    #找到所有的p标签
    #print该篇新闻的题目
    print title
    for p in p_all:
        #循环print该篇新闻的所有段落内容
        print p.text
    print '-------------------------------------'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值