1. 爬虫的浏览器伪装原理:

我们可以试试爬取新浪新闻首页,我们发现会返回403 ,因为对方服务器会对爬虫进行屏蔽。此时,我们需要伪装成浏览器才能爬取。

1.实战分析:

浏览器伪装一般通过报头进行:

打开某个网页,按F12—Network— 任意点一个网址可以看到:Headers—Request Headers中的关键词User-Agent用来识别是爬虫还是浏览器。

import urllib.requesturl='http://weibo.com/tfwangyuan?is_hot=1'
headers=('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0')
opener=urllib.request.build_opener()
opener.addheaders=[headers]
data=opener.open(url).read()fh=open('F:/jupyterpycodes/python_pachongfenxi/result/王源微博个人中心.html','wb')
fh.write(data)
fh.close()
import urllib.requesturl1='http://www.icourse163.org/home.htm?userId=1396403034#/home/course'
headers1=('User-Agent','Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 SE 2.X MetaSr 1.0')
opener=urllib.request.build_opener()
opener.addheaders=[headers1]
data1=opener.open(url1).read()fh=open('F:/jupyterpycodes/python_pachongfenxi/result/慕课个人中心.html','wb')
fh.write(data1)
fh.close()

3. 新闻爬虫

3.1 需求:

将新浪新闻首页(http://news.sina.com.cn/)所有新闻都爬到本地

3.2 思路:

先爬首页,通过正则获取所有新闻链接,然后依次爬各新闻,再保存到本地

import urllib.request
import redata=urllib.request.urlopen('http://news.sina.com.cn/').read()
data2=data.decode('utf-8','ignore')
pat='href="(https://news.sina.com.cn/.*?)">'
allurl=re.compile(pat).findall(data2) #匹配页面中所有的新闻超链接
for i in range(0,len(allurl)):try:print('第'+str(i)+'次爬取')thisurl=allurl[i]file='F:/jupyterpycodes/python_pachongfenxi/result/sinanews/'+str(i)+'.html'urllib.request.urlretrieve(thisurl,file)print('——成功——')except urllib.error.URLError as e:if hasattr(e,'code'):print(e.code)if hasattr(e,'reason'):print(e.reason)
第0次爬取
404
Not Found
第1次爬取
——成功——
第2次爬取
——成功——
第3次爬取
——成功——
第4次爬取
——成功——
第5次爬取
——成功——
第6次爬取
——成功——
第7次爬取
——成功——
第8次爬取
——成功——
第9次爬取
——成功——
第10次爬取
——成功——
第11次爬取
——成功——
第12次爬取
——成功——
第13次爬取
——成功——
第14次爬取
——成功——
第15次爬取
——成功——
第16次爬取
——成功——
第17次爬取
——成功——
第18次爬取
——成功——
第19次爬取
——成功——
第20次爬取
——成功——
第21次爬取
——成功——
第22次爬取
——成功——
第23次爬取
——成功——
第24次爬取
——成功——
第25次爬取
——成功——
第26次爬取
——成功——
第27次爬取
——成功——
第28次爬取
——成功——
第29次爬取
——成功——
第30次爬取
——成功——
第31次爬取
——成功——
第32次爬取
——成功——
第33次爬取
——成功——
第34次爬取
——成功——
第35次爬取
——成功——
第36次爬取
——成功——
第37次爬取
——成功——
第38次爬取
——成功——
第39次爬取
——成功——
第40次爬取
——成功——
第41次爬取
——成功——
第42次爬取
——成功——
第43次爬取
——成功——
第44次爬取
——成功——
第45次爬取
——成功——
第46次爬取
——成功——
第47次爬取
——成功——
第48次爬取
——成功——
第49次爬取
——成功——
第50次爬取
——成功——
第51次爬取
——成功——
第52次爬取
——成功——
第53次爬取
404
Not Found
第54次爬取
404
Not Found
第55次爬取
404
Not Found
第56次爬取
404
Not Found
第57次爬取
404
Not Found
第58次爬取
404
Not Found
第59次爬取
404
Not Found
第60次爬取
404
Not Found
第61次爬取
404
Not Found
第62次爬取
404
Not Found
第63次爬取
404
Not Found
第64次爬取
404
Not Found
第65次爬取
404
Not Found
第66次爬取
404
Not Found
第67次爬取
404
Not Found
第68次爬取
404
Not Found
第69次爬取
404
Not Found
第70次爬取
404
Not Found
第71次爬取
404
Not Found
第72次爬取
404
Not Found
第73次爬取
404
Not Found
第74次爬取
404
Not Found
第75次爬取
404
Not Found
第76次爬取
404
Not Found
第77次爬取
404
Not Found
第78次爬取
404
Not Found
第79次爬取
404
Not Found
第80次爬取
404
Not Found
第81次爬取
404
Not Found
第82次爬取
404
Not Found
第83次爬取
404
Not Found
第84次爬取
404
Not Found
第85次爬取
404
Not Found
第86次爬取
404
Not Found
第87次爬取
404
Not Found
第88次爬取
404
Not Found
第89次爬取
404
Not Found
第90次爬取
404
Not Found
第91次爬取
404
Not Found
第92次爬取
404
Not Found
第93次爬取
404
Not Found
第94次爬取
404
Not Found
第95次爬取
404
Not Found
第96次爬取
404
Not Found
第97次爬取
404
Not Found
第98次爬取
404
Not Found
第99次爬取

`

python爬虫:爬取新浪新闻数据相关推荐

  1. Python爬虫爬取新浪新闻内容

    首先感谢丘祐玮老师在网易云课堂的Python网络爬虫实战课程,接下来也都是根据课程内容而写.一来算是自己的学习笔记,二来分享给大家参考之用. 课程视频大概是在16年11月录制的,现在是18年2月.其中 ...

  2. 使用python网络爬虫爬取新浪新闻(一)

    使用python网络爬虫爬取新浪新闻 第一次写博客,感觉有点不太习惯!不知道怎么突然就想学学爬虫了,然后就用了一天的时间,跟着教程写了这个爬虫,!不说废话了,我将我从教程上学习的东西整个写下来吧,从头 ...

  3. Python网络爬虫爬取新浪新闻

    笔者最近由于需要研究互联网新闻,于是基于邱老师的网络爬虫实战,写了一个爬取新浪新闻的爬虫,爬取的信息有: 新闻标题 来源url 发布时间 正文 编辑者 与邱老师的爬虫相比有以下几点不同: 没有爬取新闻 ...

  4. 19Python爬虫--爬取新浪新闻标题并保存到数据库

    一.爬取新浪新闻思路 1.创建scrapy项目 2.分析新浪新闻网站静态页面代码 3.编写对应的xpath公式 4.写代码 二.项目代码 步骤1.创建scrapy项目 创建爬虫文件 scrapy st ...

  5. [Python爬虫]爬取新浪理财师股票问答

    本文将与大家分享如何爬取新浪理财师股票问答. 一.背景介绍 1)爬取顺序: 在这里,根据已有的股票id列表,按照顺序,依次爬取每只股票下面的股票问答. 股票id格式: lines = ['300592 ...

  6. python3爬虫-爬取新浪新闻首页所有新闻标题

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接: https://blog.csdn.net/xiangwanpeng/articl ...

  7. python指定爬取新浪新闻

    目录 前言 xpath工具和requests 步骤 爬虫的四大步骤 思路 代码 效果 最终效果 总结 前言 又是一个宁静的晚上,看到同学们聊的新闻如此的开心,有说有笑的,我仿佛像个空气一样找不到话题, ...

  8. 从入门到入土:Python爬虫学习|实例练手|爬取新浪新闻搜索指定内容|Xpath定位标签爬取|代码注释详解

    此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 本人博客所有文章纯属学习之用,不涉及商业利益.不合适引用,自当删除! 若 ...

  9. 网络爬虫-----python爬取新浪新闻

    思路:先爬取首页,然后通过正则筛选出所有文章url,然后通过循环分别爬取这些url到本地 #python新闻爬虫实战 import urllib.request import re url = 'ht ...

  10. python爬虫-使用BeautifulSoup爬取新浪新闻标题

    ** python爬虫-使用BeautifulSoup爬取新浪新闻标题 ** 最近在学习爬虫的技巧,首先学习的是较为简单的BeautifulSoup,应用于新浪新闻上. import requests ...

最新文章

  1. 一个锁等待现象的诊断案例
  2. android双击返回键退出程序的实现
  3. Java中ArrayList的使用
  4. TypeScript入门教程 之 枚举 Enums
  5. go代码--数据结构
  6. Windows上搭建Git服务器
  7. c语言退格键ascii码,【回车键的ASCII码是多少】
  8. java 阿拉伯数字日期转换为中文大写日期方法_日期转换为中文大写数字
  9. 一款在线画图工具的使用(推荐)
  10. Linux一句话精彩问答
  11. 光学成像原理之景深(Depth of Field)
  12. 喵的Unity游戏开发之路 - 攀爬
  13. 发布npm包 登录报错 E409 Conflict
  14. 入侵检测技术框架总论
  15. AutoIt vs QTP
  16. Excel VBA为表格设置“打开文件密码”
  17. CapstoneCS5212|CapstoneCS5218|DP转VGA1080P方案设计| DP转HDMI4K 30Hz方案设计
  18. Python+OpenCV人脸识别签到考勤系统
  19. 关于oracle驱动jiar包版本问题导致的ORA-01460【mybatis+Oracle】
  20. Day3--搭建微信公众号管理系统

热门文章

  1. 台式计算机win如何联网,台式win7怎么连wifi
  2. 高维数据软子空间聚类FSC
  3. 【华为OD机试真题 JS】两数之和绝对值最小
  4. 计算机网络与互联网(三)
  5. 三、动态构建GStreamer管道
  6. 视频格式720P、1080i 和 1080P
  7. 记录自己的UCF—Crime代码debug
  8. 苹果x屏幕多少钱_北京苹果手机维修为大家分享iPadAir2换屏幕多少钱
  9. ROS进阶功能—action通信机制
  10. C语言数字转扑克牌字符,C语言编程:扑克牌魔术