一个金蝶网址的网络爬虫

  学习爬虫技术已经很久了,想着是时候写一些爬虫的心得了,首先,爬虫是什么呢?百度可得:网络爬虫是一种程序,主要用于搜索引擎,它将一个网站的所有内容与链接进行阅读,并建立相关的全文索引到数据库中,然后跳到另一个网站.样子好像一只大蜘蛛.简单来讲可以分为两个步骤:

1.获取资源

2.从资源中提取你要的东西

由于我常用的是requests+bs4,这两个模块的安装和使用可以百度下,这个很重要那接下来不多说,开始动手吧:

我们要爬取的是金蝶的一个新闻网站,http://www.kingdee.com/news/tag/%E4%BA%91%E4%B9%8B%E5%AE%B6/

打开长这个样子:

我们要爬取的就是新闻的红色方框部分(好像也不是标题,我也不知道这个叫什么,原谅我的无知),我们先来分析网页,我是chrome浏览器,按F12,在按F5,刷新网页,点击network,你会看到这个

点击第一个请求,再点击response,就可以看到这个请求的响应,看看这个响应中有没有我们要的内容,怎么看?ctrl+F查找啊,我们会发现我们要的内容都在这个响应里,因此稍后我们要模拟这个请求来获取这些响应内容,再点击左上角的定位按钮,放到目标文本那里

我们就可以看到目标文本在网页中位置了,通过分析网页我们会发现这样一个规则,

1.我们的目标文本在一个div中

2.每篇文章中都在一个artical中,每个artical中都包含我们要的div

3.一共有12篇文章,说明有12个artical块

4.所有的artical都在section块中

好的,分析完网页之后我们开始写代码:

import requestsfrom bs4 import BeautifulSouptexts=[]
def get_text(url):#获取页面的目标文本    global texts    f = requests.get(url)    html = f.content.decode(‘utf-8‘) #获取响应中的html代码    soup = BeautifulSoup(html, ‘lxml‘)    for i in soup.find_all(r‘section‘, id=r‘mk-blog-loop-1‘):#获取tag名称为section,id属性为mk-blog-loop-1,返回一个列表,再遍历这个列表(实际只有一个元素)        for j in i.find_all(r‘article‘): ##获取tag名称为artical,返回一个列表,再遍历这个列表(实际有12元素)            texts.append(j.find_all(r‘div‘, class_="blog-excerpt")[0].string) #找到tag名称为div,class属性为blog-excerpt,返回一个列表,因为只有一个元素,所有直接拿第一个就可以
get_text(http://www.kingdee.com/news/tag/%E4%BA%91%E4%B9%8B%E5%AE%B6/)print(texts)结果如下:

我们会发现上面的结果是正确的,但是红色方框中的内容不对,这是一个空格符,把它去掉就ok

a=[]for  i in texts:    a.append(‘‘.join(i.split()))print(a)

好的,到目前为止,这个网络爬虫就可以了,比较简单,但是我们还是来总结下过程1.利用浏览器开发工具F12来确定我们的目标文本在哪个请求里2.分析我们的目标在网页中的结构3.模拟浏览器的请求来获取响应内容4.解析我们需要的内容这个过程需要我们对bs4和requests等模块很熟悉,可以查看他们的文档,还有网页和Http请求的知识,总之用到的东西比较多,这是比较简单的爬虫,还有其他的类型和方法,以后有时间会和大家分享的!


原文地址:https://www.cnblogs.com/diwangguilai/p/9293385.html

时间: 2024-10-09 13:08:07

一个金蝶网址的网络爬虫的相关文章

用Python写一个最简单的网络爬虫

什么是网络爬虫?这是百度百科的解释: 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本.另外一些不常使用的名字还有蚂蚁,自动索引,模拟程序或者蠕虫. 爬虫可以做什么?爬虫可以帮助我们在茫茫互联网中爬取我们需要的特定数据,这个特定数据可以是任何想获得的数据. 爬虫是一个让人热血的话题,因为当你在写爬虫的时候,你会感觉到自己是在做一件很NB的事,而每当写出一个爬虫,就会在此基础上不断尝试写出更NB的爬虫,有

打造一个健壮高效的网络爬虫

以下内容转自爬虫界大佬崔庆才的文章,传送门 整个分享的主题叫做<健壮高效的网络爬虫>,本次分享从抓取.解析.存储.反爬.加速五个方面介绍了利用 Python 进行网络爬虫开发的相关知识点和技巧,介绍了不同场景下如何采取不同措施高效地进行数据抓取的方法,包括 Web 抓取.App 抓取.数据存储.代理选购.验证码破解.分布式抓取及管理.智能解析等多方面的内容,另外还结合了不同场景介绍了常用的一些工具包,全部内容是我在从事网络爬虫研究过程以来的经验精华总结. 爬取 对于爬取来说,我们需要学会使用不

一个采集邮箱的网络爬虫(听毕老师讲的)

package 案例; import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.URL

一个简单的Python网络爬虫(抓图),针对某论坛.

1 #coding:utf-8 2 import urllib2 3 import re 4 import threading 5 6 #图片下载 7 def loadImg(addr,x,y,artName): 8 data = urllib2.urlopen(addr).read() 9 f = open(artName.decode("utf-8")+str(y)+'.jpg', 'wb') 10 f.write(data) 11 f.close() 12 13 #具体帖子页面解

网络爬虫小案例_2017/3/10

今晚,了解了一下网络爬虫,那么什么是网络爬虫呢? 网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常被称为网页追逐者),是一种按照一定的规则,自动的抓取万维网信息的程序或者脚本,已被广泛应用于互联网领域.搜索引擎使用网络爬虫抓取Web网页.文档甚至图片.音频.视频等资源,通过相应的索引技术组织这些信息,提供给搜索用户进行查询.网络爬虫也为中小站点的推广提供了有效的途径,网站针对搜索引擎爬虫的优化曾风靡一时. 网络爬虫的基本工作流程如下:     1.首先选取一部分精心挑选的种子U

nutch从搜索引擎到网络爬虫

人物介绍 姓名:DougCutting 个人名望:开发出开源全文检索引擎工具包Lucene. 个人简介/主要荣誉:除了 Lucene,还开发了著名的网络爬虫工具 Nutch,分布式系统基础架构Hadoop,这些大师级作品都是开源的.目前任职 Apache 软件基金会主席. 网络上对 Doug Cutting 的评价:“他开发出卓越超群的全文检索引擎工具包(Lucene/Solr)以及为世界打开了一扇通往大数据的大门.”“开源的Lucene 以及 Hadoop 为全球创造了无数的财富以及就业机会.

Scrapy 轻松定制网络爬虫

网络爬虫(Web Crawler, Spider)就是一个在网络上乱爬的机器人.当然它通常并不是一个实体的机器人,因为网络本身也是虚拟的东西,所以这个“机器人”其实也就是一段程序,并且它也不是乱爬,而是有一定目的的,并且在爬行的时候会搜集一些信息.例如 Google 就有一大堆爬虫会在 Internet 上搜集网页内容以及它们之间的链接等信息:又比如一些别有用心的爬虫会在 Internet 上搜集诸如 [email protected] 或者 foo [at] bar [dot] com 之类的

开源网络爬虫汇总

Awesome-crawler-cn 互联网爬虫,蜘蛛,数据采集器,网页解析器的汇总,因新技术不断发展,新框架层出不穷,此文会不断更新... 交流讨论 欢迎推荐你知道的开源网络爬虫,网页抽取框架. 开源网络爬虫QQ交流群:322937592 email address: liinux at qq.com Python Scrapy - 一种高效的屏幕,网页数据采集框架. django-dynamic-scraper - 基于Scrapy内核由django Web框架开发的爬虫. Scrapy-R

手把手教你写网络爬虫(1):网易云音乐歌单

把之前发表在微信公众号的爬虫系列文章迁移过来,热热身,就当备份了. 手把手教你写网络爬虫(1) 作者:拓海 摘要:从零开始写爬虫,初学者的速成指南! 封面: 大家好,<手把手教你写网络爬虫>连载开始了!在笔者的职业生涯中,几乎没有发现像网络爬虫这样的编程实践,可以同时吸引程序员和门外汉的注意.本文由浅入深的把爬虫技术和盘托出,为初学者提供一种轻松的入门方式.请跟随我们一起踏上爬虫学习的打怪升级之路吧! 介绍 什么是爬虫? 先看看百度百科的定义: 简单的说网络爬虫(Web crawler)也叫做