1、准备Requests和User Agent

python中能实现爬虫功能的库有若干个,而最简单最容易上手的,要数Requests库,它是一个常用的http请求库,首先用pip install requests 进行安装才能使用。

User Agent一般翻译为用户代理,它的作用是向服务器自报家门。为什么要这个User Agent呢?因为我们要让爬虫假装是一个正常的用户在使用浏览器对目标网站的服务器发出请求。那怎么知道自己的User Agent,最简单的方法就是在百度中搜索UA查询。

2、确定一个目标网站并分析其结构

比如,我们现在要以中央政府官网作为目标网站,地址http://www.gov.cn,我们要抓取最新政策信息。

政策专栏的地址是:http://www.gov.cn/zhengce/index.htm,该页面显示近10条最新政策标题;

最新政策专栏的地址是:http://www.gov.cn/zhengce/zuixin.htm,该页面显示近60条最新政策标题

点击某一政策名,进入该政策详细内容,如国务院关于促进乡村产业振兴的指导意见,地址是:http://www.gov.cn/zhengce/content/2019-06/28/content_5404170.htm

3、爬取目标页面并保存为本地文件

#导入http请求库requests
import requests
#指定我们的user agent
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)\
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'
headers = {'User-Agent':user_agent}
# requests.get()方法读取网页
r = requests.get("http://www.gov.cn/zhengce/content/2019-06/28/content_5404170.htm",headers = headers)
print(r.text)

得到了一个html文件,但是中文乱码,因为编码不一样

#修改读取的编码方式,因为charset="utf-8",所以要修改成 "utf-8",否则中文会乱码
r.encoding='utf-8'
print(r.text)

#requests.get()得到了一个html文件,可以保存起来
#指定保存html文件的路径、文件名和编码方式
with open ('/Users/Eric/Documents/2019/python/requests.html','w',encoding = 'utf8') as f:#将文本写入f.write(r.text)

如果爬取一个页面并保存并不会提升我们的效率,下节会讲复杂一点的爬取

python数据爬取---简单页面的爬取相关推荐

  1. python数据可视化之简单绘制简单折线图

    python数据可视化之简单绘制简单折线图 1. 首先安装matplotlib liunx安装命令: $ sudo apt-get install python3-matplotlib windows ...

  2. 北邮 python 学堂在线动态请求页面内容爬取

    声明:用途仅供学习使用 实验一 爬取学堂在线: 一.实验题目 爬取学堂在线的计算机类课程页面内容 点击跳转学堂在线 要求将课程名称.老师.所属学校和选课人数信息,保存到一个csv文件中. 二.实验环境 ...

  3. python爬虫基础之AJAX页面的抓取

    一.基于AJAX请求页面的爬取 爬取网页:http://www.jy.whzbtb.com/V2PRTS 通过抓包,我们不难发现这是一个AJAX请求,我们需要携带必要的参数才能获取每一页的页面内容,具 ...

  4. Python数据可视化_简单绘图_汇总(一)

    折线图(plot) 折线图:一条线用一组x和y的数组,这些数组可以是自定义也可以是从其他文件读入 import matplotlib.pyplot as plt a=[1,5,3,4,5] plt.p ...

  5. php中抓取https页面,php抓取https url网页内容方法

    在开发PHP 应用过程中,有时候需要获取https网页的内容,下面得方法,可以参考下. 直接用file_get_contents,会报错: $url = (https://xxx.com") ...

  6. python数据爬虫——如何爬取二级页面(三)

    前面两篇文章讲了单页面如何爬取,那么我们来试试如何爬取二级页面. 在爬取页面的时候,需要有个良好的习惯,提前对爬取的页面和爬取思路进行一个分析. 目的:爬取携程无忧数据分析师的二级页面,获取每个岗位的 ...

  7. Python爬虫实战(四) Python鬼灭漫画爬取+简单JS分析

    本次爬取仅供学习,无任何商业用途 猪油骨,拿来卤~今天,来分享一下python图片爬取+简单JS分析 爬取网址:漫画地址 (这个网站只更新到188话,实际上已经有200多话了) 目录 一.获取所有章节 ...

  8. Scrapy爬取动态页面下载图片(以抓取360图片为例)

    当我们想要抓取一个页面的内容时,要做的第一件事不是写代码,而是分析页面,确定这是一个静态页面还是动态页面.抓取静态页面的方法十分简单,直接解析html源码再进行分析解析即可,如果不太明白,可以参考我上 ...

  9. python百度贴吧 发帖时间_python爬取贴吧帖子

    一.介绍 我们常遇到一些很长的贴吧连载帖子想存到本地再看 此文就是运用python爬取指定百度贴吧的帖子并存到本地满足需求 环境:python2.7 目标网页:[长篇连载]剑网3的正史和野史--从头开 ...

最新文章

  1. 关于日期比较compareTo
  2. javascript中的事件处理
  3. Jupyter notebook快捷操作
  4. RESTful Web服务可发现性,第4部分
  5. Django框架(展示图书信息简易版)
  6. 【JAVA】StringTokenizer 迭代方式对字符串进行分割
  7. awk编程基本使用示例
  8. go设置后端启动_使用 Go Wails 框架来构建桌面应用(Go+Vue.js)
  9. 【解决方案】客户端请求数据较大时,nginx返回数据被截断
  10. java excel 导入导出_java中excel文件的导入和导出
  11. mysql发生系统错误5_[玩转MySQL之一]MySQL体系架构简介
  12. iOS 友盟分享总结
  13. 状态空间表达式用matlab求解,matlab状态空间表达式
  14. “大数据杀熟”手段变种需要警惕!
  15. 不得不说/永远不回头
  16. 当封号成为一种常态,网络营销人该何去何从?
  17. N沟道的Vgs是正的,P沟道的Vgs是负的
  18. Emerging Threats rules suricata规则功能介绍
  19. 计算机谣言之网线的做法
  20. 哪种变压器好-如何选择好的变压器-有哪几种型号和规格呢?

热门文章

  1. 内蒙古自治区律师事务所排名情况
  2. macOS 使用 X11 运行远端 linux 中的 x11 client 图形程序
  3. 浅谈中国院落文化,打造中式家居风尚!
  4. Symfony框架系列----常用命令
  5. 【解决方案】LaTeX插入svg图片
  6. 11条职场潜规则助你爱上工作
  7. c语言高校信息查询系统,高校人员信息管理系统c语言.doc
  8. 法国计算机与电信工程师学院,如何选择法国工程师学院?
  9. Python与c语言的区别与联系
  10. GitHub新漏洞!4行代码轰炸出6千万封电子邮件