网络爬虫快速入门(一)

一、相关概念

通过编写程序,模拟浏览器上网,然后让其去互联网上抓取数据的过程。 

1.1分类

通用爬虫:抓取系统重要组成部分。抓取的是一整张页面数据。

聚焦爬虫:是建立在通用爬虫的基础之,上。抓取的是页面中特定的局部内容。

增量式爬虫:检测网站中数据更新的情况。只会抓取网站中最新更新出来的数据。

反爬机制:门户网站,可以通过制定相应的策略或者技术手段,防止爬虫程序进行网站数据的爬取。

反反爬策略:爬虫程序可以通过制定相关的策略或者技术手段,破解门]户网站中具备的反爬机制,从而可以获取门户网1.

1.2相关协议

1.2.1 robots.txt协议:君子协议。规定了网站中哪些数握可以被爬虫爬取哪些数据不可以被爬取。

查看方式网络爬虫快速入门(一)_第1张图片

1.2.2

网络爬虫快速入门(一)_第2张图片

二、python模块

2.1requests模块

网络爬虫快速入门(一)_第3张图片

 2.2 urllib模块

2.3代码

网络爬虫快速入门(一)_第4张图片

import requests
url = "https://www.baidu.com/?tn=44004473_52_oem_dg"
response = requests.get(url=url)
pagetext = response.text
print(pagetext)
with open('./baidu.html',"w", encoding = 'utf-8') as fp: 
    fp.write(pagetext)
print("爬取结束")

 实战1:简易网易采集器

补充知识:

UA: User-Agent. (请求载体的身份标识)

UA检测:门户网站的服务器会检测对应请求的载体身份标识。如果检测到请求的载体身份标识为某一款浏览器

#说明该请求是一个正常的请求。但是。如果检测到请求的载体身份标识不是基于某款浏览器的 则表示该请求为不正常的请求(爬虫) 则服务器端就很有可能拒绝该次请求。

UA伪装: 让爬忠对应的请求载体身份标识伪装成某一款浏览器 

代码

import requests
url = "https://sogou.com/web"
wd = input("请输入想获取信息:")
headers = {
    'user-Agent':"自己爬取"
}
param = {
    'query':wd
}
response = requests.get(url=url,params=param,headers=headers)
pagetext = response.text
print(pagetext)
filmName = wd+'.html'
with open(filmName,"w", encoding = 'utf-8') as fp: 
    fp.write(pagetext)
print("爬取结束")

实战二:百度翻译

post请求(携带了参数)

响应数据是一组j son数据

网络爬虫快速入门(一)_第5张图片

import requests
import json
url = "https://fanyi.baidu.com/sug"
headers = {
    'user-Agent':"自己爬取"
}
word = input("请输入翻译单词:")
data = {
    'kw':word
}
response = requests.post(url=url,data=data,headers=headers)
pageobj = response.json()
print(pageobj)
filmName = word+'.json'
fp = open(filmName,'w',encoding='utf-8')
json.dump(pageobj,fp = fp,ensure_ascii = False)
print("爬取结束")

实战三:豆瓣排行榜

网络爬虫快速入门(一)_第6张图片

实战四:药监总局

网络爬虫快速入门(一)_第7张图片网络爬虫快速入门(一)_第8张图片

你可能感兴趣的:(人工智能,神经网络,数据挖掘)