第一只小爬虫

news/2024/8/21 3:50:10

 

啊~ 两个月,终于写出了人生第一只独立的小爬虫....

抓取网易新闻页面的更新。

分析:
1.标题、url:
<h2><a href="http://money.163.com/16/0425/14/BLGM1PH5002551G6.html">贾跃亭的成功意味着实体失败?</a><h2>
<a href="http://money.163.com/16/0422/15/BL90MCB400253G87.html">海尔模式为何在西方叫好不叫座</a>
<a href="http://money.163.com/16/0412/15/BKFAETGB002552IJ.html">有前科就不能开网约车?</a>
<a href="http://money.163.com/16/0331/13/BJG7HME600253G87.html">影业公司能助网络视频抬身价吗</a>
上面三个是不行的,下面两个不完善,直接从网页上看比较好,复制的
<a href="http://money.163.com/16/0126/14/BE8V83A500253G87.html" title="iPhone 6s太失败? 苹果需创新" class="newsimg" lang="http://img6.cache.netease.com/stock/2016/1/26/20160126144328b85b7.jpg"><img src="http://s.cimg.163.com/stock/2016/1/26/20160126144328b85b7.jpg.119x83.jpg" alt="iPhone 6s太失败? 苹果需创新"></a>
<a href="http://money.163.com/16/0118/16/BDKGF2C000253G87.html" title="从贴吧事件看大公司如何担责" class="newsimg" lang="http://img3.cache.netease.com/stock/2016/1/18/20160118153051acf71.jpg"><img src="http://s.cimg.163.com/stock/2016/1/18/20160118153051acf71.jpg.119x83.jpg" alt="从贴吧事件看大公司如何担责"></a>
...
根据上面分析到标题的正则规则,中间就是网址
<a href=/".*/">.*</a>
2.created_at:
<span class="time">2016-03-31 13:43:27</span>
<span class="time">2016-03-31 08:48:45</span>
<span class="time">2016-03-18 16:40:02</span>
created_at正则规则:
<span class="time">.*</span>

抓取过程分析:
1.requests
2.正则
3.对字符串进行截取,实际上还是正则
4.定义一个函数:一个将数据拿下来到本地

好吧,正则、火狐的魅力真是无穷大,requests获取时,实际上涉及到了编码的问题,还不是很清楚,encode--->编码到,decode在3中不存在...有解决

接下来附上抓取代码:
import requests
import re
def url_gain(url):
f = requests.get(url)
cotet = f.text
return cotet


content = url_gain("http://money.163.com/special/pinglun/")
news = []
title_url = re.findall(r'<a href=.+?title=".+?"', content) # ? 非贪婪。。吖,实际上这边加上小括号到后期会容易获取数据,血泪吖。。
,血泪

creat_time = re.findall(r'<span class="time">.+?</span>', content) # len(creat_time)=15,len(title_url)=55 我只需首页的数据,所以取title_url前15个
title_url = title_url[0:15]
# 现在可以安心匹配了...
for i in title_url:
new = {} # 每做完一次运算,都对new进行更新一次。
new['url'] = re.search(r'".+?"', i).group()
new['title'] = re.findall(r'".+?"', i)[1]
new['created_at'] = re.search(r'[0-9\-]+\s[0-9\:]+', creat_time[0]).group() # 关于时间的匹配算法
news.append(new)

import pandas
newss = pandas.DataFrame(news)

===================================我是分割线
然后是运行结果:

 

 


看起来是不是挺简单的,哈哈哈哈~~~

下次更新对于京东商品价格对于网址的爬取......

转载于:https://www.cnblogs.com/ironstickagain/p/7922676.html


http://lihuaxi.xjx100.cn/news/275836.html

相关文章

你还在用GDB调试程序吗?

↑ 点击蓝字 关注视学算法作者丨薛定谔的喵知乎来源丨https://zhuanlan.zhihu.com/p/152274203编辑丨极市平台你还在用GDB调试程序吗&#xff1f;如果是&#xff0c;那么我们是同道中人。但是你知道GDB有一个很强大的功能&#xff0c;Python scripting嘛&#xff1f;如果是的&a…

matlab二值化图像_小白啃骨头之图像识别

小白啃骨头系列是通过案例的分享&#xff0c;描述7是怎么入门某类技术的。下面就请进入正题吧~相信大家对于有一些名词耳熟能详&#xff0c;可以谈天说地&#xff0c;但是真正想要用起来&#xff0c;却觉得门槛太高&#xff0c;望而却步。如今AI大火&#xff0c;凡是沾点边就感…

拿来就能用!如何用 AI 算法提高安全运维效率?

作者 | 黄龙责编 | 伍杏玲来源 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 在整个安全工作中&#xff0c;安全运维是不可或缺的一环&#xff0c;其目的是保证各项安全工作持续有效地运作。除了对外的沟通和业务对接相关工作&#xff0c;大部分安全运维的日常工作相…

流水账(4)---礼拜二---“抗议,我不是电工!”

礼拜二&#xff0c;今天。 6点半起床&#xff0c;9点钟到东郊。 上午帮东郊重装一台电脑。郁闷&#xff0c;我在那边一直就被当作修电脑的工人用了。还想起一个很有意思的误会。 一次&#xff0c;我和老师说&#xff0c;你知道罢&#xff0c;东郊还有一个fudan的法硕在那…

ipad无法与itunes同步,提示因为这台电脑不再被授权使用在此ipad上购买的项目解决方案...

1、iOS设备用数据线连接到电脑&#xff1b;2、打开电脑上的iTunes 11&#xff0c;按CtrlB键调出菜单栏&#xff0c;按CtrlS键调出边栏&#xff1b;在边栏的 设备 下面看到你的iOS设备&#xff1b;3、点击菜单栏中的商店&#xff0c;点击 对这台电脑授权&#xff0c;输入你的App…

GitHub 中文文档正式发布

点击上方“方志朋”&#xff0c;选择“设为星标”回复”666“获取新整理的面试资料中国作为全球最大的人口大国&#xff0c;所属开发者在 GitHub 上的占比自然也少不了。近几年&#xff0c;随着 GitHub 在国内的不断推广普及&#xff0c;不少开发者都开始纷纷采用 GitHub 来作为…

基于 CNN 特征区域进行目标检测

点击上方“小白学视觉”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达目标检测是目前计算机视觉领域最热门的技术之一&#xff0c;该领域的研究一直在以非常快的速度进行。但究竟什么是物体检测&#xff1f;对象检测处理通过给定输入&#xf…

android中textcolor属性,android – EditText和TextView textColorPrimary不遵循API lt;21的主题颜色...

在设计工具栏视图以使其适用于API 21及以下版本时存在一些问题,但我认为我有这个styles.xmlcolor/colorPrimarycolor/colorPrimaryDarkcolor/colorPrimarycolor/whitecolor/grey这在我的screen1.xml工具栏中xmlns:android"http://schemas.android.com/apk/res/android&quo…