首页 > 代码库 > 手动爬虫之流程笔记1(python3)
手动爬虫之流程笔记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 =http://www.mamicode.com/ ur.urlopen(req).read() 21 # 文件指向 22 fh = open(aim_file, "wb") 23 # 信息转档 24 fh.write(data) 25 # 关闭文件 26 fh.close()
手动爬虫之流程笔记1(python3)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。