Python网络爬虫——基本原理

目录

一、概念理解

二、基本思路

1.构造首页请求

2.数据解析

3.保存本地

三、提升速度

四、案例:爬取知识产权网站的公司名称和类别


一、概念理解

爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者)

传统爬虫就是经常用到的各种搜索引擎,浏览器。

聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。

二、基本思路

1.构造首页请求

目标网址:url

伪装浏览器:headers(User-agent、cookies、referrer)

发送请求:request(GET / POST)

返回内容:response

2.数据解析

Html数据:正则表达式

Json数据:json库(ajax网页数据获取)

二进制数据:以wb的方式写入文件

3.保存本地

目标格式:拼接

保存本地:excel、word、图片

三、提升速度

多线程

四、案例:爬取知识产权网站的公司名称和类别

#http://dlbzsl.hizhuanli.cn:8888/Logo/Search地理标志处分别搜阳澄湖大闸蟹、五常大米、浏阳花炮

import urllib.request
from urllib import parse

#构造首页请求
url='http://dlbzsl.hizhuanli.cn:8888/Logo/ChangePage/'
headers={'Cookie':'ASP.NET_SessionId=d5k3mu1y0vkfxl3lqgtd2if4',
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.111 Safari/537.36 Edg/86.0.622.61',
'Referer':'http://dlbzsl.hizhuanli.cn:8888/Logo/Result?cpmc=%E4%BA%94%E5%B8%B8%E5%A4%A7%E7%B1%B3&company=&creditcode=',
}

#数据解析
formdata = {'pageSize': '2'}
 
data = parse.urlencode(formdata).encode(encoding='UTF8')

request = urllib.request.Request(url, data=data, headers=headers)
 
#返回结果
response = urllib.request.urlopen(request).read()
# utf-8解码
s = response.decode('utf-8', 'ignore')
#保存本地
print(s)

参考链接:

https://live.csdn.net/v/148375?depth_1-spm=1000.2115.3001.4128

https://ityard.blog.csdn.net/article/details/106606158

 

你可能感兴趣的:(网络爬虫,Python基础,python)