手动爬虫之流程笔记1(python3)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了手动爬虫之流程笔记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()

 

 

  


以上是关于手动爬虫之流程笔记1(python3)的主要内容,如果未能解决你的问题,请参考以下文章

scrapy按顺序启动多个爬虫代码片段(python3)

JavaScript基础之流程控制语句

Java基础之流程控制语句

5Go语言基础之流程控制

MySQL之流程控制结构

Go语言基础之流程控制