网络爬虫也叫网络蜘蛛,它特指一类自动批量下载网络资源的程序,这是一个比较口语化的定义。
更加专业和全面对的定义是:网络爬虫是伪装成客户端与服务端进行数据交互的程序。
import requests
import os,re
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.149 Safari/537.36',
'referer': 'https://image.baidu.com/search/detail'
}
html_url = 'http://image.baidu.com/search/index?ct=201326592&cl=2&st=-1&lm=-1&nc=1&ie=utf-8&tn=baiduimage&ipn=r&rps=1&pv=&fm=rs5&word=%E8%90%8C%E8%90%8C%E5%93%92%E5%9B%BE%E7%89%87%E7%9A%AE%E5%8D%A1%E4%B8%98&oriquery=%E8%90%8C%E8%90%8C%E7%9A%84%E5%9B%BE%E7%89%87&ofr=%E8%90%8C%E8%90%8C%E7%9A%84%E5%9B%BE%E7%89%87&sensitive=0'
# "thumbURL":"http://img4.imgtn.bdimg.com/it/u=317475481,336973617&fm=15&gp=0.jpg"
urls = re.findall('"thumbURL":"(.*?)"',requests.get(html_url).text)
for index,page_url in enumerate(urls):
if not os.path.exists('images'):
os.mkdir('images')
page_name = 'images/img' + str(index) + '.' + page_url.split('.')[-1]
pages = requests.get(page_url,headers=headers)
with open(page_name,'wb') as f:
f.write(pages.content)
print('ok')
这就是一个爬虫,绝大多数网络爬虫的目标数据都是网页数据。网络爬虫是伴随着互联网的出现而诞生的。我们如果要学习爬虫,我们必须对互联网有较深入的了解。