手动爬虫之流程笔记1(python3)
一、引入拓展库
由于刚刚起步学习爬虫,故从urllib库开始
首先引入urllib,这里主要用到urllib中request类
import urllib.request as ur
二、设置全局参数
我把它分为三个变量:代理服务器IP、目标网址、存放路径。
# 代理服务器的地址 proxy_add = "110.183.238.145:811" # 获取目标网址 url = "https://www.baidu.com" # 设置目标文档(路径+文件名【包括后缀】) aim_file = "E:/workspace/PyCharm/codeSpace/books/python_web_crawler_book/chapter4/demo2/1.html"
三、将爬虫模拟成浏览器访问页面
由于urlopen不支持一些HTTP的高级功能,所以要想达到预期的访问效果,有两种方式。
一是使用build_opener()修改报头,二是使用add_header()添加报头。本人更加倾向于第二种,使用方法如下
# 添加报头 req = ur.Request(url) req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0')
四、设置服务器代理
# 设置代理 proxy = ur.ProxyHandler({'http': proxy_add}) opener = ur.build_opener(proxy, ur.HTTPHandler) ur.install_opener(opener)
五、爬行页面并信息存档
# 读取数据 info = ur.urlopen(req).read() fh = open(aim_file, "wb") # 信息转档 fh.write(info) # 关闭文件 fh.close()
六、源代码:
1 import urllib.request as ur 2 3 # 代理服务器的地址 4 proxy_add = "110.183.238.145:811" 5 # 获取目标网址 6 url = "https://www.baidu.com" 7 # 设置目标文档(路径+文件名【包括后缀】) 8 aim_file = "E:/workspace/PyCharm/codeSpace/books/python_web_crawler_book/chapter4/demo2/1.html" 9 10 # 添加报头 11 req = ur.Request(url) 12 req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Firefox/52.0') 13 14 # 设置代理 15 proxy = ur.ProxyHandler({'http': proxy_add}) 16 opener = ur.build_opener(proxy, ur.HTTPHandler) 17 ur.install_opener(opener) 18 19 # 读取数据 20 data = ur.urlopen(req).read() 21 # 文件指向 22 fh = open(aim_file, "wb") 23 # 信息转档 24 fh.write(data) 25 # 关闭文件 26 fh.close()
转载于:https://www.cnblogs.com/xiaomingzaixian/p/7107386.html
手动爬虫之流程笔记1(python3)相关推荐
- 手动爬虫之京东笔记本栏(ptyhon3)
1 import urllib.request as ur 2 import urllib.error as ue 3 import re 4 # 目标网址 5 url = 'https://list ...
- 51自学网python爬虫_Python爬虫基本流程
爬虫定义 爬虫是请求网站并提取自己所需要数据的过程.通过我们的程序,可以代替我们向服务器发送请求,然后进行批量的数据下载. 爬虫基本流程 发起请求 通过url向服务器发送requests请求,请求可以 ...
- python爬虫流程-Python:爬虫处理流程及网页解析
爬虫处理流程: 将互联网上的网页获取到本地 对网页进行解析 网页解析是从网页中分离出我们所需要的.有价值的信息,以及新的待爬取的URL. 网页的解析的方法: 正则表达式(采用模糊匹配的方式,找出我们所 ...
- python基础代码事例-学习笔记:python3,代码。小例子习作(2017)
http://www.cnblogs.com/qq21270/p/7634025.html 学习笔记:python3,一些基本语句(一些基础语法的代码,被挪到这里了) 日期和时间操作 http://b ...
- linux内核ufs设备树,Linux内核初始化流程笔记
Linux内核初始化流程笔记 分类: LINUX 作者:gfree.wind@http://www.doczj.com/doc/fc580419c1c708a1294a4409.html 博客:htt ...
- 无敌python爬虫教程学习笔记(一)
python爬虫系列文章目录 无敌python爬虫教程学习笔记(一) 无敌python爬虫教程学习笔记(二) 无敌python爬虫教程学习笔记(三) 无敌python爬虫教程学习笔记(四) 本文目录 ...
- 无敌python爬虫教程学习笔记(二)
系列文章目录 无敌python爬虫教程学习笔记(一) 无敌python爬虫教程学习笔记(二) 无敌python爬虫教程学习笔记(三) 无敌python爬虫教程学习笔记(四) 手刃一个小爬虫 系列文章目 ...
- 宏基因组单个样本数据处理流程笔记
宏基因组单个样本数据处理流程笔记 前言 数据预处理 质量控制 去除接头序列 去除宿主序列 物种注释 Kraken2注释 Krona制图 序列组装 MEGAHIT序列组装 SPAdes序列组装 功能注释 ...
- 爬虫的基本原理:网络爬虫、爬虫基本流程、解析方式、保存数据
爬虫的基本原理:网络爬虫.爬虫基本流程.解析方式 网络爬虫(Web crawler),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本,它们被广泛用于互联网搜索引擎或其他类似网站,可以自动采集 ...
最新文章
- Intellij IDEA 竟然把 Java8 的数据流问题这么完美的解决掉了!
- [渝粤教育] 西南科技大学 货币银行学 在线考试复习资料(1)
- Windows 电脑命令一览
- 存储过程中“ 警告: 聚合或其他 SET 操作消除了 Null 值” 导致错误的解决
- 硬盘空间分析工具 WizTree(转载)
- 计算机应用基础本科答案排序,计算机应用基础本科操作题
- mysql innodb_large_prefix_那些从MySQL5.6升级到5.7的坑--innodb_large_prefix-阿里云开发者社区...
- Intel Multiprocessor System Architecture
- 使用SQLyog创建MySQL数据库
- LaTex 英文期刊论文模板
- 基于php网上书店存在问题及解决方案,基于PHP的网上书店系统设计与实现
- 震撼!七大议题全数入选!九州云与您相约温哥华
- typescript4.2 新特性
- LiveData去除粘性
- Python测试三角函数的正交性
- 【餐厅点餐平台|一】项目描述+需求分析
- 3.2.3 Quantization Techniques(HDR量化)(Advanced High Dynamic Range Imaging)Schlick TMO
- Apple ID,APP ID,Bundle ID,iOS Certificates,iOS Provisioning Profiles各自含义以及之间的关系
- 掩码认证消息(MAM)详细介绍
- 纯html+css炫酷地球仪动画效果