目标网站:http://bohaishibei.com/post/category/main/(一个很有趣的网站,一段话配一个图,老有意思了~)网站形式如下:

目标:把大的目标分为几个小的目标。因为第一次干这个,所以对自己能力很清楚,所以完成顺序由简单到复杂。

1.爬取一期的内容,包括标题,和图片的url

2.把数据存在本地的txt文件中

3.想爬多少就爬就爬少

4.写一个网站,展示一下。(纯用于学习)

Let‘s 搞定它!

第一步:

我用的是google浏览器,进入开发者模式,使用’页面内的元素选择器‘,先看一下内页中的结构,找到我们要的数据所在’标签‘。

这里我们需要的博海拾贝一期的内容全部在

第一条红线是:页面内的元素选择器

第二条是:内容所在标签

第三条是:title

经过分析得出,我只要,这个标签的内容:所以写了下面的方法:

这里需要说一下:在写这个爬虫之前我就打算只用字符串的内置函数来处理匹配问题,所以我就上http://www.w3cschool.cc/python/进入到字符串页面,大致看了一遍字符串的内建函数有哪些。

partition() 方法用来根据指定的分隔符将字符串进行分割。

如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。

partition() 方法是在2.5版中新增的。参考:http://www.w3cschool.cc/python/att-string-partition.html

这样我就得到只有内容的字符串了,干净~

第二步:

得到title的内容。title的格式如下,我只要’【2】‘后面的文字,后面的img暂时不考虑一步步的来。

【2】这是我最近的状态,请告诉我不是我一个人!

http://ww4.sinaimg.cn/mw690/005CfBldtw1etay8ifthnj30an0aot8w.jpg />

我写了下面的方法:

这里用try....except是因为我不知道怎么跳出循环。。。。求大神有更好的方法告诉我。

我这里跳出循环用的是当抛出VlaueError异常就说明找不到了,那就返回列表。就跳出循环了。

num1是】的位置,num2是

的位置,然后用序列的切片,咔嚓咔嚓一下就是我想要的数据了。这里需要注意的是:切片’要头不要尾‘所以我们的得到的数据就是这个样子的:

哎呀,这个是什么鬼!要头不要尾就是这个意思!

然后我就想:那就把num1加1不就完了吗?我真是太天真了。。。。

请+3,我觉得原理是这样的,这个是个中文字符!(求大神指点)

第三步:

交代清楚我昨天晚上做的事情了,记录下时间——10:01,下面我要爬图片的url了。这里要说一下,如果要把图片下下来,最重要的一步就是得到url,然后下载下来保存到本地(用文本的IO)。

我先获得url,实现原理同获取title,我在想,既然一样卸载获取title的方法里好,还是在写一个方法好。我单独写了一个方法,但是其实就是复制了一下title的方法,改了下匹配的字符串,代码如下:

结果图如下:

这里发现,有的时候一个title会有很多个图片。我思考之后有如下思路:

1.需要写一个方法,当一个title出现多个图片的时候,捕获url。这个需要有一个判断语句,当url长度大于一个url长度的时候,才需要调用这个函数。

2.多个图片的url怎么放?使用符号隔开存放还是嵌套放入一个数组里面?我这里打算用’|‘隔开,这样的话加一个判语句,或者先判断一下url长度,都可以进行。

这个问题先放在这里,因为当我要下载的时候这个url才需要过滤,所以先进行下一步,把数据存到本地txt文中,这里在解决这个问题也不晚。

第四步:

把数据存到本地的txt中。Python文件IO参考资料:http://www.w3cschool.cc/python/python-files-io.html

这里需要注意的是,文本写入的时候记得close,还有就是注意打开文本的模式。

这里我考虑了一个问题,根据《编写高质量代码——改善python程序的91个建议》这本书中写道的,字符串连接时,用jion()效率高于’+‘

所以我写了如下代码:

这样造成了一个问题,看图

造成最后一个和新的一个列表写入时在同一行。同时用with....as更好。修改后代码如下:

下面研究title和img以什么样的格式存入txt文本:

title$img

这里我有一个概念混淆了,+和join()方法的效率问题主要在连接多个字符串的时候,我这个只用连接一次,不需要考虑这个问题。

文本中的内容如下:

愿你贪吃不胖,愿你懒惰不丑,愿你深情不被辜负。$http://ww1.sinaimg.cn/mw690/005CfBldtw1etay8dl1bsj30c50cbq4m.jpg"

这是我最近的状态,请告诉我不是我一个人!$http://ww4.sinaimg.cn/mw690/005CfBldtw1etay8ifthnj30an0aot8w.jpg

引诱别人和你击拳庆祝,然后偷偷把手势变成二,就可以合体成为蜗牛cosplay……$http://ww2.sinaimg.cn/mw690/005CfBldtw1etay8fzm1sg30b40644qq.gif

原来蜗牛是酱紫吃东西的。。。。涨姿势!$http://ww4.sinaimg.cn/mw690/005CfBldtw1etay8egg8vg30bo08ax6p.gif

写入文本的最后,解决多个图片的问题:

输出如下:

元气少女陈意涵 by @TopFashionStyle$http://ww2.sinaimg.cn/mw690/005CfBldtw1etay848iktj30bz0bcq4x.jpg|http://ww1.sinaimg.cn/mw690/005CfBldtw1etay83kv5pj30c10bkjsr.jpg|http://ww3.sinaimg.cn/mw690/005CfBldtw1etay82qdvsj30c10bkq3z.jpg|http://ww1.sinaimg.cn/mw690/005CfBldtw1etay836z8lj30c00biq40.jpg|http://ww4.sinaimg.cn/mw690/005CfBldtw1etay8279qmj30ac0a0q3p.jpg|http://ww1.sinaimg.cn/mw690/005CfBldtw1etay81ug5kj30c50bnta6.jpg|http://ww2.sinaimg.cn/mw690/005CfBldtw1etay8161ncj30c20bgmyt.jpg|http://ww2.sinaimg.cn/mw690/005CfBldtw1etay804oy7j30bs0bgt9r.jpg|

暂时功能是实现了,后面遇到问题需要修改在改吧。。。。新手走一步看一步!!!

到此为止,已经完成了前两个简单的计划:

1.爬取一期的内容,包括标题,和图片的url

2.把数据存在本地的txt文件中

全部代码如下:

python 三列求correlation_Python新手写爬虫全过程记录分析相关推荐

  1. python爬虫记录时间_Python新手写爬虫全过程记录分析

    目标网站:http://bohaishibei.com/post/category/main/(一个很有趣的网站,一段话配一个图,老有意思了-)网站形式如下: 目标:把大的目标分为几个小的目标.因为第 ...

  2. python抽取指定url页面的title_Python新手写爬虫全过程记录分析

    目标网站:http://bohaishibei.com/post/category/main/(一个很有趣的网站,一段话配一个图,老有意思了-)网站形式如下: 目标:把大的目标分为几个小的目标.因为第 ...

  3. [Python]新手写爬虫全过程(已完成)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  4. python爬虫课程设计过程_[Python]新手写爬虫全过程(已完成)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  5. python学完那部分能写爬虫_[Python]新手写爬虫全过程(已完成)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  6. python爬虫实验报告怎么写_[Python]新手写爬虫全过程(转)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  7. python简单代码编辑全过程-[Python]新手写爬虫全过程(已完成)

    今天早上起来,第一件事情就是理一理今天该做的事情,瞬间get到任务,写一个只用python字符串内建函数的爬虫,定义为v1.0,开发中的版本号定义为v0.x.数据存放?这个是一个练手的玩具,就写在tx ...

  8. php和python写爬虫-python和php哪个更适合写爬虫

    python和PHP相比较,python适合做爬虫.原因如下 抓取网页本身的接口 相比与其他静态编程语言,如java,c#,C++,python抓取网页文档的接口更简洁:相比其他动态脚本语言,如per ...

  9. python学到什么程度可以写爬虫-月薪2万的爬虫工程师,Python需要学到什么程度?...

    非计算机专业,正在自学python,很多教程里提到的网站的爬虫都会写了.比如拉勾网,豆瓣,实习僧,京东,淘宝,某妹子图等等--但是因为不是计算机专业的,也没学所谓的四大名著,不知道那四大对找工作重要吗 ...

最新文章

  1. smartarm3250 performance
  2. jdbc java例子_Spring JDBC 例子
  3. 调度策略的测试方法及其自动化
  4. centos下git clone报401错误解决办法
  5. (转)创建X509证书,并获取证书密钥的一点研究
  6. UVa-10820 Send a Table 欧拉函数
  7. C++学习之路 | PTA乙级—— 1058 选择题 (20 分)(精简)
  8. 图像增强——imhist、imcontour、imadjust、histeq、fspecial、imfilter、medfilt2
  9. 北京市摩托车驾驶证拿本攻略
  10. Open Set Domain Adaptation by Backpropagation
  11. ept技术_EPT与VPID
  12. swper 实现滑动切换功能的两种方式
  13. 前端研发生态环境构建经验谈
  14. 数据结构—排序(第九章)
  15. 爬虫_app 1.1 导学
  16. request.getParameter() request.getAttribute()区别
  17. 数据挖掘面试题(1)
  18. PHP 获取当天凌晨时间戳
  19. java web上传视频文件_怎样使用javaweb实现上传视频和下载功能?
  20. USB HUB芯片 FE8.1替代方案

热门文章

  1. 机房内网络设备布局设计
  2. linux windows 设置 网卡1000m模式
  3. python基础入门(六)
  4. win10使用技巧之关闭软件安装前的用户提示
  5. 数学分析闭区间套定理_怎样用闭区间套定理证明有限覆盖定理?数学分析老师说这样证明最好但不知怎么证明...
  6. Windows CA 证书服务器配置
  7. PHP百度编辑器使用方法,百度编辑器UEditor 简单使用教程分享
  8. oracle数据库设计实例
  9. 每日一记:zabbix禁用主机后报错cannot send list of active checks to *.*.*.*: host [*] not monitored
  10. Python Class 详解