一、什么是爬虫?
网络爬虫就是模拟客户端(一般指浏览器)发送网络请求,接收请求响应,一种按照一定的规则,自动的抓取互联网信息的程序。只要是客户端能展现出来的信息都是能爬到的,即所见皆可爬。
二、爬虫有什么用?
抢票、投票、淘宝价格比、dx轰炸、web扫描......
三、爬虫的基本步骤
?UA(User-Agent)检测:门户网站的服务器会检测对应请求的载体身份标识,如果检测到请求的载体身份标识为某一款浏览器,则说明该请求是一个正常的请求,否则,检测到请求的载体身份标识不是基于某一款浏览器的,表示该请求为不正常的请求,服务器很可能会拒绝该请求。(通常网站都存在反爬机制,伪装UA指纹头就是为了反‘反爬机制’)
那么就来实际操作一下,眼学会了手也要跟上!
打开浏览器在百度引擎输入关键词进行搜索并打开开发者工具,会发现我们输入的关键词在url上
找到请求数据包查看请求头,发现请求方法为GET方法,请求携带的数据wd正是我们输入的关键词,那么我们就可以在请求的数据字典中带入我们的关键词。
request模块中存在多个请求方法,根据数据请求的方法来选择使用,最为常见的就是get与post
?参考代码如下
import requests
if __name__ == '__main__':
#UA伪装
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0'
}
#指定URL
url = 'https://www.baidu.com/s?'
wd = input('enter a wd:')
param = {
'wd':wd
}
#发起请求
response = requests.get(url=url,params=param,headers=headers).text
#响应数据持久化存储
filename = wd+'.html'
with open(filename,'w',encoding='utf8') as f:
f.write(response)
print(filename,'save successfully!')
?运行结果如下,打开我们存储的网页正是我们要搜索的内容。
免责声明:本站技术仅供参考学习,切勿用于非法之事,因此产生的不良后果由使用者承担,作者不为此承担任何责任。
|