网络爬虫基础练习

练习:

新建一个用于练习的html文件,在浏览器中打开。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Simple DOM Demo</title>
</head>

<body>
    <h1>This is the document body</h1>
    <P ID = "p1Node">This is paragraph 1.</P>
    <P ID = "p2Node">段落2</P>
    <a href="http://www.gzcc.cn/">广州商学院</a>

    <li>
        <a href="http://news.gzcc.cn/html/2018/xiaoyuanxinwen_0328/9113.html">
            <div class="news-list-text">
                <div class="news-list-title" style="">我校校长杨文轩教授讲授新学期“思政第一课”</div>
                <div class="news-list-description">3月27日下午,我校校长杨文轩教授在第四教学楼310室为学生讲授了新学期“思政第一课”。</div>
                <div class="news-list-info"><span><i class="fa fa-clock-o"></i>2018-03-28</span><span><i class="fa fa-building-o"></i>马克思主义学院</span></div>
            </div>
        </a>
    </li>
</body>
</html>

利用requests.get(url)获取网页页面的html文件

import requests
newsurl = ‘http://localhost:63342/Python/text.html?_ijt=8188ag4251ojje8rv3j7uahppi‘
res = requests.get(newsurl)  # 返回response对象
res.encoding = ‘utf-8‘

利用BeautifulSoup的HTML解析器,生成结构树

from bs4 import BeautifulSoup
soup = BeautifulSoup(res.text, ‘html.parser‘)

取出h1标签的文本

print(soup.h1.text)

取出a标签的链接

print(soup.a.attrs[‘href‘])

取出所有li标签的所有内容

for i in soup.select(‘li‘):
    print(i.text)

取出一条新闻的标题、链接、发布时间、来源

标题:

print(soup.select(‘li‘)[0].select(‘.news-list-title‘)[0].text)

链接:

print(soup.select(‘li‘)[0].a.attrs[‘href‘])

发布时间:

print(soup.select(‘li‘)[0].select(‘.news-list-info‘)[0].contents[0].text)

来源:

print(soup.select(‘li‘)[0].select(‘.news-list-info‘)[0].contents[1].text)

结果:

原文地址:https://www.cnblogs.com/Ming-jay/p/8668721.html

时间: 2024-10-10 15:02:18

网络爬虫基础练习的相关文章

java网络爬虫基础学习(一)

刚开始接触java爬虫,在这里是搜索网上做一些理论知识的总结 主要参考文章:gitchat 的java 网络爬虫基础入门,好像要付费,也不贵,感觉内容对新手很友好. 一.爬虫介绍 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网下载网页,是搜索引擎的重要组成部分. 传统爬虫: 获得URL ->放入队列 ->抓取网页,分析信息 ->新的URL ->放入队列 ->抓取网页,分析信息... ->满足一定条件,停止. 聚焦爬虫: 根据一定的网页分析算法过滤与主题无关的链接

java网络爬虫基础学习(三)

尝试直接请求URL获取资源 豆瓣电影 https://movie.douban.com/explore#!type=movie&tag=%E7%83%AD%E9%97%A8&sort=time&page_limit=20&page_start=0 浏览器打开该地址: 发现是这样的 在这里我们需要用java抓取电影的信息,首先要找到资源链接,浏览器右键->检查打开谷歌调试工具 我们可以看到下图 有很多的资源请求,在这里我是一个个搜索,看那个是电影信息的Headers 发

Java版网络爬虫基础(转)

网络爬虫不仅仅可以爬取网站的网页,图片,甚至可以实现抢票功能,网上抢购,机票查询等.这几天看了点基础,记录下来. 网页的关系可以看做是一张很大的图,图的遍历可以分为深度优先和广度优先.网络爬虫采取的广度优先,概括的说来如下: 2个数组,一个记录已访问的网页(Al),一个记录未访问的网页(Un).假设网页A为爬取的起始点,分析A中的所有的超链接B,C,D,将B,C,D加入到Un,分析B中的所有的超链接E,F,将E,F加入到Un末尾,将B从Un除去并加入到AL.依次分析Un中的超链接并加入到Un中就

Java版网络爬虫基础

网络爬虫不仅仅可以爬取网站的网页,图片,甚至可以实现抢票功能,网上抢购,机票查询等.这几天看了点基础,记录下来. 网页的关系可以看做是一张很大的图,图的遍历可以分为深度优先和广度优先.网络爬虫采取的广度优先,概括的说来如下: 2个数组,一个记录已访问的网页(Al),一个记录未访问的网页(Un).假设网页A为爬取的起始点,分析A中的所有的超链接B,C,D,将B,C,D加入到Un,分析B中的所有的超链接E,F,将E,F加入到Un末尾,将B从Un除去并加入到AL.依次分析Un中的超链接并加入到Un中就

Python网络爬虫基础知识学习

对Python有一些简单了解的朋友都知识Python编程语言有个很强大的功能,那就是Python网络爬虫(http://www.maiziedu.com/course/python/645-9570/),一提到Python,就会想到相关的Python爬虫和scrapy等等,今天就来简单认识学习Python爬虫的基础知识,有了一定的相关爬虫知识,以后学习scrapy.urllib等等知识时,会相对轻松些. 爬虫: 网络爬虫是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组

网络爬虫基础一

爬虫的分类 按使用场景: 通用爬虫:指搜索引擎的爬虫 聚焦爬虫:指针对特定网站的爬虫 聚焦爬虫又可以分为大致3种: 累积式爬虫: 从开始到结束,一直不断爬取,过程中会进行去重操作: 增量式爬虫: 对已经下载的网页采取增量式更新和只爬行新产生的或者已经发生变化网页的爬虫: 深度爬虫: 不能通过静态链接获取的.隐藏在搜索表单后的,只有用户提交一些关键词才能获得的Web面: requests模块的使用 说明:Requests是一个用于网络请求的第三方模块,继承了urllib的所有特性,但是其API比u

【python学习】网络爬虫——基础案例教程

一,获取整个页面数据 Urllib 模块提供了读取web页面数据的接口,我们可以像读取本地文件一样读取www和ftp上的数据.首先,我们定义了一个getHtml()函数: urllib.urlopen()方法用于打开一个URL地址. read()方法用于读取URL上的数据,向getHtml()函数传递一个网址,并把整个页面下载下来.执行程序就会把整个网页打印输出. #coding=utf-8 import urllib def getHtml(url):     page = urllib.ur

java网络爬虫基础学习(四)

jsoup的使用 jsoup介绍 jsoup是一款Java的HTML解析器,可直接解析某个URL地址.HTML文本内容.它提供了一套非常省力的API,可通过DOM,css以及类似于Jquery的操作方法来取出和操作数据. 主要功能 从一个URL,文件或字符串中解析出HTML. 使用DOM或css选择器来查找.取出数据. 可操作HTML元素.属性.文本. 直接请求URL 一开始直接使用jsonp的connect方法调用上节说的请求电影json数据会报错 错误如下: 这里不太清楚发生错误的原因,毕竟

java网络爬虫基础学习(二)

正则表达式 正则表达式写法 含义 \d 代表0-9的任意数字 \D 代表任何非数字字符 \s 代表空格类字符 \S 代表非空格类字符 \p{Lower} 代表小写字母[a-z] \p{Upper} 代表大写字母[A-Z] \p{Alpha} 代表字母 \p{Blank} 代表空格或制表符 HTTP状态码 分类 描述 1** 信息,服务器收到请求,需要请求者继续执行操作. 2** 成功,操作被成功接收并处理. 3** 重定向,需要进一步的操作已完成请求. 4** 客户端错误,请求包含语法错误或无法