目录
一、概念理解
二、基本思路
1.构造首页请求
2.数据解析
3.保存本地
三、提升速度
四、案例:爬取知识产权网站的公司名称和类别
爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者)
传统爬虫就是经常用到的各种搜索引擎,浏览器。
聚焦爬虫的工作流程较为复杂,需要根据一定的网页分析算法过滤与主题无关的链接,保留有用的链接并将其放入等待抓取的URL队列。然后,它将根据一定的搜索策略从队列中选择下一步要抓取的网页URL,并重复上述过程,直到达到系统的某一条件时停止。
目标网址:url
伪装浏览器:headers(User-agent、cookies、referrer)
发送请求:request(GET / POST)
返回内容:response
Html数据:正则表达式
Json数据:json库(ajax网页数据获取)
二进制数据:以wb的方式写入文件
目标格式:拼接
保存本地: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