大一小白爬虫初试(初学者必看)
目录:
- 爬虫基础知识学习网址(简单易懂)
- 案例分析
- 我爬取新闻网站所遇到的问题及其解决方法
- 还存留的疑惑
关于爬虫的基础知识的网站
- 崔庆才爬虫博客(先看) http://cuiqingcai.com/1052.html
- 廖雪峰python学习网站 http://www.liaoxuefeng.c/wiki/001374738125095c955c1e6d8bb493182103fac9270762a000
- 爬虫实例 http://cuiqingcai.com/4352.html
- 知乎小白爬虫具体案例+分析 https://www.zhihu.com/collection/159805421
- 知乎爬虫之知识集锦 (遇到问题时再看) https://zhuanlan.zhihu.com/p/21479334
爬取一个新闻网站
第一步:明确爬虫思路
1)在看完以上教程后,我们可以知道,我们要获取的网页的信息皆来自html源代码,而获取源代码需要我们获得这个网页的url(即链接),所以当我们爬取整个网站时,需要先获得网站的url
2)故而我们需要先观察要爬取的网站的架构
例如我的:
先得到: 大目录下每一项的url
再得到: 该目录项下每一页的url
最后获得: 每一项新闻的url
(此处可用循环函数)3)通过每一项的url,获得该url的html的信息:
标题,发布时间,图片,正文等
(此处可用正则匹配和beautifulsoup)
这一来O(∩_∩)O是不是思路清晰了很多呢?
从我刚刚讲到的就可以知道爬虫最关键的两步就是获得访问权限和 匹配 了, 下面具体问题具体分析
第二步:获得访问权限
1)网页请求头的获取方法:
按"f12"--然后点击"网络监视器"--在列表中随机点击一个--点击后会出现消息头--在消息头处找到请求头--找到'User-Agent'--其对应的值(这就是请求头啦)
这个是我在刚刚说的那个网站上获得的:headers = {'User_Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:53.0) Gecko/20100101 Firefox/53.0' } url = "http://zh.vietnamplus.vn/" m_response = requests.get(url=url, headers=headers) m_html = m_response.text
2)其他详细方法请戳-->http://www.cnblogs.com/junrong624/p/5533655.html
第三步:查看页面元素以及正则匹配
把鼠标移到目录位置按右键-"查看元素",可以定位该目录,并看到其在html上对应的代码:
"><span class="title">
<a href="/politics.vnp">时政</a>
</span></li><li class="parent ">
<span class="title">
<a href="/world.vnp">国际</a>
</span></li><li class="parent ">
<span class="title">
<a href="/business.vnp">经济</a>
</span></li><li class="parent ">
<span class="title">
<a href="/social.vnp">社会</a>
</span></li><li class="parent ">
<span class="title">
<a href="/culture.vnp">文化</a>
</span></li><li class="parent ">
<span class="title">
<a href="/sports.vnp">体育</a>
</span></li><li class="parent ">
<span class="title">
<a href="/technology.vnp">科技</a>
</span></li><li class="parent ">
<span class="title">
<a href="/environment.vnp">环保</a>
</span></li><li class="parent ">
<span class="title">
<a href="/Travel.vnp">旅游</a>
</span></li>
当我从网站上进入其中一项,如:"时政"时,我发现出现的新网页的url正好就是上面的 'politics.vnp'+在首页网址(http://zh.vietnamplus.vn/)后面 http://zh.vietnamplus.vn/politics.vnp
所以我们只要把相应的网址的url字符串匹配出来后再联结在一起再访问就可以访问子网页啦!~
这个时候我们就要用到正则匹配了
(请先装好re包)
到底怎么用呢?请戳下面:
- 正则匹配的简单学习的网址:
http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html?nsukey=87n%2Feuq1bh7UOjRfssJX4yWyLNqQSEzMW%2Fw6i4y5GxXWo8dRgZ1ZYIkAHI44dWrMmTsOPomm%2B6aU2eyVkFkfvTod4B5TLtYC2Z6uk2ez0eBTqzW6HOn7%2BGCeIMy9ViXz9IUMrw%2BipjAA5YYItCXPLA%3D%3D - 正则匹配的详细学习的网址(这个比较容易理解些)
https://deerchao.net/tutorials/regex/regex.htm?nsukey=FH6k8nAWLGh8BnpLuW8%2FP9IKHkoYL93XC4NJ3clbq1MJcfL9HbBOLFd3pLK1g89JflKztPFDK3DRW7vfLGqMWLUKazcMVoUNEgBItrR96dGc8PYahHrqTGdembVCTatGYsQxz5gptqT57qZTFLoERnsH8fCAlLV8%2Fxb4lh0wbKgBtFLEtfDxpO7QpF%2F3RH0T
python代码如下:
classifications = re.findall(r’.+?\s’, m_html)#这里就是正则匹配啦
# 利用集合去重
classifications = list(set(classifications))
print classifications
#获取每个分类的url
num = 0
for classification in classifications:
c_url = ‘http://zh.vietnamplus.vn/’ + classification
print c_url
classification
比较高难度点的就用beautifulsoup
到底怎么用呢?请戳下面:
- Beautifulsoup的学习的网址:
http://blog.sina.com.cn/s/blog_64d0b03c0101dxd3.html - Beautifulsoup的详细学习的网址(这个比较容易理解些)
http://cndenis.iteye.com/blog/1746706 - Beautifulsoup的select方法详解的网址:
https://www.cnblogs.com/yizhenfeng168/p/6979339.html - BeautifulSoup 模块使用指南的网址:
https://www.jianshu.com/p/2b783f7914c6
以此类推,是不是也可以匹配其他信息了
第四步:将爬取的内容保存到文件里
- 参考方法:
http://www.cnblogs.com/ymjyqsx/p/6554817.html
- **爬虫过程中遇到的问题:1>url字符串无法联结2>url无法访问
- 方法
- 方法
- 3>字符串就是匹配不到,明明没错4>编码解码等问题
- 方法
-
方法
这些内容待我搞明白会继续补充
大一小白爬虫初试(初学者必看)相关推荐
- arma模型_Eviews经典案例 | 初学者必看!ARMA模型精讲
[本期分析师介绍]希音老师,<数据分析学堂>金牌分析师,对eviews的时间序列.ARMA.VAR.VECM.ARCH.GARCH等操作有深入的研究和实战经验,累计服务客户1000+.今天 ...
- 简单的CreateRemoteThread例程-初学者必看
简单的CreateRemoteThread例程-初学者必看 // _remotethreaddemo.cpp : Defines the entry point for the console app ...
- vba 根据分辨率 调整窗口显示比例_2020 如何选择适合自己的显示器?小白选购电脑显示器必看,附各类型显示器高性价比选购指南分析...
2020如何选择适合自己的显示器?小白选购电脑显示器必看,可能是全网最完整显示器参数科普与选购分析. 说到显示器的选购,你的反应是什么?价格.尺寸.分辨率,我相信大部分小白最关心的就是这三个问题.这是 ...
- myeclipse文档链接oracle,[数据库]MyEclipse 连接Oracle数据库(初学者必看)
[数据库]MyEclipse 连接Oracle数据库(初学者必看) 0 2015-05-06 22:03:18 前言:刚接触Oracle数据库,便有一个需求,编写控制台程序,实现主人登录.数据库为Or ...
- led驱动电源初学者必看_初学者:如何在Windows 8中查看Metro应用程序的已用驱动器空间...
led驱动电源初学者必看 In Windows 8 there is no obvious way of checking how much space each Metro app is takin ...
- lua菜鸟教程_初学者必看:Lua入门学习教程
Lua入门学习教程是本文要介绍的内容,主要是来对Lua入门的一个学习,Lua是一个被设计成用于扩展C/C++编程的轻量级脚本语言.不幸的是,网上很少有关于这个语言的在线教程.我主要通过阅读其源代码来了 ...
- Qt Designer入门教程 初学者必看
在Linux下,一个非常流行的RAD工具就是Qt Designer.它是嵌入式公司 Trolltech的Qt软件包的一个组成部分. Qt Designer入门教程 初学者必看是本文要介绍的内容,不说这 ...
- 计算机键盘分区,电脑初学者必看键盘五个分区功能知识.doc
文档介绍: 电脑初学者必看键盘五个分区功能知识,电脑初学者必看键盘基本分区,初学者熟悉键盘,初学者熟悉键盘图片,美发初学者分区要多久,初学者熟悉键盘视频,电脑键盘功能介绍,钢琴键盘示意图简谱,键盘26 ...
- 初学者必看篇之国产数据库---达梦
初学者必看篇之国产数据库-达梦 需要了解的可以点进去看看----达梦官网 首先,写这篇文章的目的是为了把学到的新知识做个总结梳理,同时我也希望在学习的过程中把一些需要注意的细节和大家分享,正所谓,共同 ...
最新文章
- 再见Spring!下一个开源框架更香!
- UNIX中的restrict
- 中海达手部链接电脑安装软件_山东水文局:较大含沙量条件下中海达ADCP外接测深仪测流系统试验成功...
- centos7输入法,非root用户无法使用
- centos 重启网卡_CentOS6 网络管理之网卡配置及简单路由设置
- Visual Studio2012打开时弹出“遇到异常:这可能是由某个扩展导致的”错误的解决办法...
- 一款开源Office软件---Lotus Symphony在Linux系统下的应用
- 拓端tecdat:matlab用Logistic逻辑回归建模和马尔可夫链蒙特卡罗MCMC方法分析汽车实验数据
- 靠播放业务吃不饱?音乐流媒体纷纷“加电商”卖周边
- IO负载高的来源定位
- 黑苹果卡在苹果logo_黑苹果的历史
- 计算机毕业设计ssm火车站售票管理系统
- 腾讯云服务器怎么进行学生认证?需要注意什么?
- 计算机裸机是指,计算机中裸机是指
- 阿里收购优酷土豆:内容进入GGC时代!
- android mvvm
- ABP 6.0.0-rc.1的新特性
- python绘制黑白棋盘_生成黑白棋盘标定图和单目相机标定(python+opencv实现)
- C++对象构建与使用,error: taking address of temporary [-fpermissive]
- Win10突然就不能连接网络了怎么办
热门文章
- 神州信息2020半年业绩报:金融科技业务签约同比大幅增长36%
- 在线笔记,智能便捷的编辑内容
- DSS部署-11、Spark on Yarn部署
- pycharm无法加载文件\venv\Scripts\Activate.ps1,因为在此系统上禁止运行脚本
- 月报总结|Moonbeam 3月份大事一览
- HDU-1730 Northcott Game
- promise微任务的执行
- 如何引爆净水市场驱动力,上海国际水展助您开拓新商机
- mysql 阿里_详细解读阿里手册之MySQL
- 基于词典方法和机器学习方法的中文情感倾向分析(毕业设计:附完整代码)