python网络爬虫进入(一)——简单的博客爬行动物

时间:2023-01-01 10:51:56

最近。对于图形微信公众号。互联网收集和阅读一些疯狂的-depth新闻和有趣,发人深思文本注释,并选择最佳的发表论文数篇了。但看着它的感觉是一个麻烦的一人死亡。寻找一个简单的解决方案的方法,看看你是否可以把互联网上的信息自己主动收集,然后,他们使用一个统一的筛选。可惜,最近准备学习的知识网络爬虫,于是按照网上的教程要学会尝试写自己的一个小爬虫,嘻嘻,韩寒的博客是用来攀爬。

第一个完整的代码贴上来,根据假设,朋友们需要测试。请安装python相关环境,存。再按F5执行。

#导入urllib库,python訪问网页必须库
import urllib
#时间类库
import time #定义一个URL数组用来存放捕获的URL地址。也就是须要爬的文字地址路径
url = [''] * 50
#定义link变量,用来记录第几个URL地址
link = 1 #循环捕获博客文件夹第一页全部的文章链接。并下载 #定义con变量来存储urllib.urlopen打开韩寒博客的文件夹地址,特别注意下'+str(page)+',用来变化每一页文件夹地址的
con = urllib.urlopen('http://blog.sina.com.cn/s/articlelist_1191258123_0_1.html').read()
#变量title用来存储con变量中找到<a title=开头元素的位置
title = con.find(r'<a title=')
#变量href用来存储con变量中找到href='开头元素的位置
href = con.find(r'href=',title)
#变量html用来存储con变量中找到.html开头元素的位置
html = con.find(r'.html',href)
#存储第一个连接地址
url[0] = con[href + 6:html + 5]
content = urllib.urlopen(url[0]).read()
open(r'hanhan/'+url[0][-26:],'w+').write(content)
print '0 have downloaded',url[0]
#循环捕获每一篇文章的地址,并存储在URL数组中
while title != -1 and href != -1 and html != -1 and link < 50:
#con[href + 6:html + 5]是用来取con字符串href后6位到html倒数5位之间的字符串
url[link] = con[href + 6:html + 5]
#打开读取每一篇文章地址。并存储在content中
content = urllib.urlopen(url[link]).read()
#打开hanhan这个文件夹,假设里面没有url[link][-26:]这个字符串命名的文件。便将content里的内容写入。命名为url[link][-26:]
open(r'hanhan/'+url[link][-26:],'w+').write(content)
print link,'have downloaded',url[link]
title = con.find(r'<a title=',html)
href = con.find(r'href=',title)
html = con.find(r'.html',href)
#自增记数
link = link +1

这个爬虫实现的功能还是非常简陋的,但作为入门我认为还是够的。它仅仅是实现了保存博客第一页文件夹全部文章的HTML文件,并没有抓取特定的内容予以保存。

还有我认为有编程基础的人,看起来应该不是非常费力。主要的思想非常easy,就是先爬地址,然后爬一个地址就下地址相应的网页,接着保存为。

我个人认为。这段代码还是有点邋遢。不够简洁明了。希望通过以后的学习能写出质量更高的代码。

有些看里面涉及的方法python文档可以发现,这是不难,几乎每一句里面我都标有注意事项。

执行:

python网络爬虫进入(一)——简单的博客爬行动物

python网络爬虫进入(一)——简单的博客爬行动物的更多相关文章

  1. Python网络数据采集(1):博客访问量统计

    前言 Python中能够爬虫的包还有很多,但requests号称是“让HTTP服务人类”...口气不小,但的确也很好用. 本文是博客里爬虫的第一篇,实现一个很简单的功能:获取自己博客主页里的访问量. ...

  2. python静态网页爬虫之xpath&lpar;简单的博客更新提醒功能)

    直接上代码: #!/usr/bin/env python3 #antuor:Alan #-*- coding: utf-8 -*- import requests from lxml import e ...

  3. 【python网络爬虫】之requests相关模块

    python网络爬虫的学习第一步 [python网络爬虫]之0 爬虫与反扒 [python网络爬虫]之一 简单介绍 [python网络爬虫]之二 python uillib库 [python网络爬虫] ...

  4. &lbrack;Python爬虫笔记&rsqb;&lbrack;随意找个博客入门&lpar;一&rpar;&rsqb;

    [Python爬虫笔记][随意找个博客入门(一)] 标签(空格分隔): Python 爬虫 2016年暑假 来源博客:挣脱不足与蒙昧 1.简单的爬取特定url的html代码 import urllib ...

  5. python网络爬虫学习笔记

    python网络爬虫学习笔记 By 钟桓 9月 4 2014 更新日期:9月 4 2014 文章文件夹 1. 介绍: 2. 从简单语句中開始: 3. 传送数据给server 4. HTTP头-描写叙述 ...

  6. Python 正则表达式 &lpar;python网络爬虫&rpar;

    昨天 2018 年 01 月 31 日,农历腊月十五日.20:00 左右,152 年一遇的月全食.血月.蓝月将今晚呈现空中,虽然没有看到蓝月亮,血月.月全食也是勉强可以了,还是可以想像一下一瓶蓝月亮洗 ...

  7. python网络爬虫之入门&lbrack;一&rsqb;

    目录 前言 一.探讨什么是python网络爬虫? 二.一个针对于网络传输的抓包工具fiddler 三.学习request模块来爬取第一个网页 * 扩展内容(爬取top250的网页) 后记 @(目录) ...

  8. 关于Python网络爬虫实战笔记③

    Python网络爬虫实战笔记③如何下载韩寒博客文章 Python网络爬虫实战笔记③如何下载韩寒博客文章 target:下载全部的文章 1. 博客列表页面规则 也就是, http://blog.sina ...

  9. 关于Python网络爬虫实战笔记①

    python网络爬虫项目实战笔记①如何下载韩寒的博客文章 python网络爬虫项目实战笔记①如何下载韩寒的博客文章 1. 打开韩寒博客列表页面 http://blog.sina.com.cn/s/ar ...

随机推荐

  1. 基础知识&lpar;javaWeb工程目录结构&rpar;及各文件夹的作用

    在Eclipse中只要创建一个Dynamic Web Project,就可以根据创建向导创建出一个典型Java Web站点的目录结构.除非有特殊需要,在大多数情况下都没有必要修改这个目录结构,这也是W ...

  2. JS之路——常用正则表达式

    整数或者小数:^[0-9]+\.{0,1}[0-9]{0,2}$只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数 ...

  3. android退出activity的方式总结&lpar;一&rpar;

    在android中使用:[activityname].this.finish();  只是退出了activity的堆栈中,要真正的退出程序在手机cpu中的运行,当应用不再使用时,通常需要关闭应用,可以 ...

  4. Java通过jxl解析Excel文件入库,及日期格式处理方式 (附源代码)

    JAVA可以利用jxl简单快速的读取文件的内容,但是由于版本限制,只能读取97-03  xls格式的Excel. 本文是项目中用到的一个实例,先通过上传xls文件(包含日期),再通过jxl进行读取上传 ...

  5. Python内置函数&lpar;64&rpar;——classmethod

    英文文档: classmethod(function) Return a class method for function. A class method receives the class as ...

  6. React16&period;x特性剪辑

    本文整理了 React 16.x 出现的耳目一新的概念与 api 以及应用场景. 更多 React 系列文章可以订阅blog 16.0 Fiber 在 16 之前的版本的渲染过程可以想象成一次性潜水 ...

  7. (递推)一只小蜜蜂&period;&period;&period; hdu2044

    一只小蜜蜂... 链接:http://acm.hdu.edu.cn/showproblem.php?pid=2044 Time Limit: 2000/1000 MS (Java/Others)    ...

  8. 10 Free Image Hosting Sites for Your Photos

    https://www.lifewire.com/free-image-hosting-sites-3486329 Wondering if there are there any good site ...

  9. &lbrack;Offer收割&rsqb;编程练习赛15 B&period;分数调查&lbrack;加权并查集&rsqb;

    #1515 : 分数调查 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi的学校总共有N名学生,编号1-N.学校刚刚进行了一场全校的古诗文水平测验. 学校没有公布测 ...

  10. JSTL自定义函数完成ACL即时认证

    即时认证是指,用户进行查询或更新操作时,判断该用户进行是否对该操作有权限. 这里以判断用户是否有删除权限为例.如果用户有删除权限,即显示该按钮:如果没有删除权限,则不显示该按钮. 1.Manager层 ...