网络爬虫(5)--小实战

到目前为止,我们学习了如何访问远程网站,如何解析页面内容,是时候开始应用一下了。在这里,我们以通过http://www.heibanke.com/lesson/crawler_ex00/为例,这个网站会告诉我们爬虫应该向哪里链接,直到爬到通过为止。

首先我们需要查看网页的源代码,确定我们需要的信息在哪里。通过查看源代码,我们可以知道,我们关注的信息应该是h3标签文本中的数字。

因此我们的任务就是提取出这个数字,然后链接到新的地址,直到完成为止。

首先我们从BeautifulSoup中提取出标签h3中的文本,然后通过正则表达式分解出里面的数字,将数字加入地址,继续访问新地址,知道没有数字为止。



 1 # coding=utf-8
 2 __author__ = ‘f403‘
 3 from urllib.request import urlopen
 4 from urllib.error import HTTPError
 5 from bs4 import BeautifulSoup
 6 import re
 7 rootUrl = "http://www.heibanke.com/lesson/crawler_ex00/"
 8
 9 def getUrl(url=""):
10     try:
11         html = urlopen(rootUrl+url)
12         if html is None:
13             print("html is empty")
14             return  None
15         else:
16             try:
17                 bs = BeautifulSoup(html.read().decode(‘utf8‘),"lxml")
18                 #text = bs.find("h3").get_text()
19
20                 text = bs.find(‘h3‘).get_text()
21                 return text
22             except AttributeError as e:
23                 return None
24     except HTTPError as e:
25         return None
26
27 if __name__ ==‘__main__‘:
28     txt = getUrl()
29     print(txt)
30     while txt is not None:
31         pattern = re.compile("[0-9]+")
32         num = pattern.search(txt)
33         if num is not None:
34             print(num.group())
35             txt = getUrl(num.group())
36         else:
37             txt = None
38
39     print("end")

 

 

来自为知笔记(Wiz)

时间: 2024-10-26 11:51:27

网络爬虫(5)--小实战的相关文章

Python网络爬虫技巧小总结,静态、动态网页轻松爬取数据

很多人学用python,用得最多的还是各类爬虫脚本:有写过抓代理本机验证的脚本,有写过自动收邮件的脚本,还有写过简单的验证码识别的脚本,那么我们今天就来总结下python爬虫抓站的一些实用技巧. 静态网页 对于静态网页的爬虫不用多说大家也都知道,因为爬取静态网页非常的简单,只要用requests直接把html爬取下来然后用正则表达式匹配就可以了. 动态网页 相对于静态网页的简单,但是动态网页的就会相对而而言会复杂一下,而且现在互联网的发展速度,动态网页是最多的,静态网页是比较少的,不过他有张良计

JAVA多线程网络爬虫的代码实现

因为项目需要,做了一个网络爬虫的小DEMO. 为实现高性能的网络爬虫,首先考虑采用APACE的HttpClient进行页面的采集和解析,HttpClient可以很方便的通过URL获得远程内容,例如一个小程序:     CloseableHttpClienthttp client = HttpClients.createDefault();     HttpGet httpget = newHttpGet("http://localhost/");     CloseableHttpRe

Python网络爬虫实战视频教程

Python网络爬虫实战教程(全套完整版) 课程观看地址:http://www.xuetuwuyou.com/course/168课程出自学途无忧网:http://www.xuetuwuyou.com 课程目录:课时1:课程介绍课时2:Python初识课时3:Python语法基础 课时4:Python控制流与小实例 课时5:答疑环节 课时6:Python函数详解 课时7:Python模块实战 课时8:Python文件操作实战 课时9:Python异常处理实战 课时10:Python面向对象编程

python网络爬虫实战-Scrapy,深入理解scrapy框架,解决数据抓取过程

一 前言 二 网络爬虫简介 审查元素 简单实例 1 requests安装 2 简单实例 三 爬虫实战 小说下载 1 实战背景 2 小试牛刀 3Beautiful Soup 3整合代码 优美壁纸下载 1实战背景 2实战进阶 3整合代码 爱奇艺VIP视频下载 1实战背景 2实战升级 3编写代码 四 总结 一 前言 强烈建议:请在电脑的陪同下,阅读本文.本文以实战为主,阅读过程如稍有不适,还望多加练习. 本文的实战内容有: 网络小说下载(静态网站) 优美壁纸下载(动态网站) 爱奇艺VIP视频下载 二

下载大数据实战课程第一季Python基础和网络爬虫数据分析

python语言近年来越来越被程序相关人员喜欢和使用,因为其不仅简单容易学习和掌握,而且还有丰富的第三方程序库和相应完善的管理工具:从命令行脚本程序到gui程序,从B/S到C/S,从图形技术到科学计算,软件开发到自动化测试,从云计算到虚拟化,所有这些领域都有python的身影:python已经深入到程序开发的各个领域,并且会越来越多的人学习和使用. 大数据实战课程第一季Python基础和网络爬虫数据分析,刚刚入手,转一注册文件,视频的确不错,可以先下载看看:链接:http://pan.baidu

网络爬虫模拟登陆获取数据并解析实战(二)

目录 分析要获取的数据 程序的结构 构建封装数据的model 模拟登陆程序并解析数据 结果展示 分析要获取的数据 下面继续实战,写一个模拟登陆获取汽车之家,用户信息的程序.如果大家对模拟登陆获取数据不太了解,建议看完http://blog.csdn.net/qy20115549/article/details/52249232,我写的这篇含有抓包获取人人网数据的案例程序,研究透之后,再来看这个要轻松很多. 首先,大家打开汽车之家这个网站(http://i.autohome.com.cn/7741

Android实战——jsoup实现网络爬虫,糗事百科项目的起步

Android实战--jsoup实现网络爬虫,爬糗事百科主界面 本篇文章包括以下内容: 前言 jsoup的简介 jsoup的配置 jsoup的使用 结语 前言 对于Android初学者想要做项目时,最大的烦恼是什么?毫无疑问是数据源的缺乏,当然可以选择第三方接口提供数据,也可以使用网络爬虫获取数据,这样就不用第三方数据作为支持.本来是打算爬一些购物网站的数据,由于他们的反爬做得好,所以没办法爬到数据,只能爬取糗事百科的数据,或许聪明的你会想到可以高仿个糗事百科作为自己的练手项目,利用jsoup是

大数据实战课程第一季Python基础和网络爬虫数据分析

分享下载地址--https://pan.baidu.com/s/1c3eMFJE 密码: eew4 备用地址--https://pan.baidu.com/s/1htwp1Ak 密码: u45n 内容简介本课程面向从未接触过Python的学员,从最基础的语法开始讲起,逐步进入到目前各种流行的应用.整个课程分为基础和实战两个单元. 基础部分包括Python语法和面向对象.函数式编程两种编程范式,基础部分会介绍Python语言中的各种特色数据结构,如何使用包和函数,帮助同学快速通过语法关. 在实战部

Python网络爬虫实战-Scrapy视频教程 Python系统化项目实战课程 Scrapy技术课程

课程目录01.scrapy是什么.mp4Python实战-02.初步使用scrapy.mp4Python实战-03.scrapy的基本使用步骤.mp4Python实战-04.基本概念介绍1-scrapy命令行工具.mp4Python实战-05.本概念介绍2-scrapy的重要组件.mp4Python实战-06.基本概念介绍3-scrapy中的重要对象.mp4Python实战-07.scrapy内置服务介绍.mp4Python实战-08.抓取进阶-对"西刺"网站的抓取.mp4Python

Python网络爬虫实战:天猫胸罩销售数据分析

本文实现一个非常有趣的项目,这个项目是关于胸罩销售数据分析的.是网络爬虫和数据分析的综合应用项目.本项目会从天猫抓取胸罩销售数据,并将这些数据保存到SQLite数据库中,然后对数据进行清洗,最后通过SQL语句.Pandas和Matplotlib对数据进行数据可视化分析.我们从分析结果中可以得出很多有的结果,例如,中国女性胸部标准尺寸是多少:胸罩上胸围的销售比例:哪个颜色的胸罩最受女性欢迎. 1. 项目效果展示 本项目涉及到网络技术.网络爬虫技术.数据库技术.数据分析技术.数据可视化技术.首先应该