2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Esileikki:
1. Haluatko nähdä kuvia, joiden vuoksi et pysty nukkumaan kuolleena yönä, mutta sinulla ei ole resursseja...
2. Haluatko ostaa nopeasti junaliput sesonkiaikana lomien aikana?
3. Kun teet ostoksia verkossa, haluatko paikantaa nopeasti ja tarkasti tuotteet, joilla on paras maine ja laatu?
Mikä on indeksointirobotti:
- Kirjoittamalla ohjelman simuloi prosessia, jossa selain surffailee Internetissä ja anna sen sitten indeksoida tietoja Internetistä.
Indeksointirobotin arvo:
- Käytännön sovellukset
-Työllisyys
Ovatko indeksointirobotit laillisia vai laittomia?
ei ole laissa kiellettyä
Lain rikkomisen vaara
Hyvät matelijat Haitalliset matelijat
Indeksointirobottien tuomat riskit voidaan heijastaa seuraavilla kahdella tavalla:
-Indeksointirobotit häiritsevät vierailevien verkkosivustojen normaalia toimintaa
-Indeksointirobotit keräävät tietyntyyppisiä tietoja, jotka on suojattu lailla
Kuinka välttää epäonnea joutumasta ongelmiin tela-ajoneuvon käytössä?
- Optimoi omat ohjelmasi usein välttääksesi häiritsemättä vierailevien verkkosivustojen normaalia toimintaa
- Kun käytät ja levität indeksoitua sisältöä, tarkista indeksoitu sisältö Jos arkaluontoista sisältöä, kuten käyttäjään liittyviä liikesalaisuuksia, löytyy, indeksointi tai levittäminen on lopetettava ajoissa.
Indeksointirobottien luokitus käyttöskenaarioissa
-Yleinen indeksointirobotti:
Tärkeä osa indeksointijärjestelmää. Se, mitä kaapataan, on kokonainen sivu dataa.
- Keskity indeksointiroboteihin:
Se on rakennettu universaalin telaketjun pohjalta. Se mitä kaapataan, on tiettyä sivun osittaista sisältöä.
-Inkrementaalinen indeksointirobotti:
Tunnista tietopäivitykset verkkosivustolla. Vain viimeisimmät päivitetyt tiedot verkkosivustolta indeksoidaan.
Matelijoiden keihäs ja kilpi
Kiipeilyä estävä mekanismi
Portaalisivustot voivat estää indeksoijia indeksoimasta verkkosivustojen tietoja laatimalla vastaavia strategioita tai teknisiä keinoja.
Kiipeilyä estävä strategia
Indeksointiohjelma voi murtaa portaalin verkkosivuston indeksoinnin estomekanismin muotoilemalla asiaankuuluvia strategioita tai teknisiä keinoja portaalin tietojen saamiseksi.
robots.txt-protokolla: +/robots.txt näkyy minkä tahansa verkkosivuston jälkeen
Herrasmiessopimus. Se määrää, mitä verkkosivuston tietoja indeksointirobotit voivat indeksoida ja mitä tietoja ei voida indeksoida.
http-protokolla
- Konsepti: Se on palvelimen ja asiakkaan välisen datavuorovaikutuksen muoto.
Yleiset pyynnön otsikkotiedot: Pyynnön välittäjän tunniste
- User-Agent:Connection: Kun pyyntö on suoritettu, katkaistaanko yhteys vai pidetäänkö yhteyttä
Yleiset vastauksen otsikkotiedot
-Content-Type: Tietotyyppi, jonka palvelin vastaa asiakkaalle
https-protokolla: - Secure Hypertext Transfer Protocol (turvallisuus)
Salaus
Symmetrinen avaimen salaus
Epäsymmetrinen avaimen salaus
Sertifikaattiavaimen salaus
- import requests
-
- # 检查当前脚本是否作为主程序运行
- if __name__ == "__main__":
- # 定义 KFC 官方网站获取门店列表信息的 URL
- url = 'http://www.kfc.com.cn/kfccda/ashx/GetStoreList.ashx'
-
- # 定义 HTTP 请求的头部信息,模拟浏览器请求
- headers = {
- 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/126.0.0.0 Safari/537.36 Edg/126.0.0.0'
- }
-
- # 提示用户输入一个位置信息,作为搜索门店的关键词
- keyword = input('enter location:') # 例如 "北京"
-
- # 循环请求第1页到第9页的数据
- for page in range(1,10):
- # 定义发送请求时所需的参数
- params = {
- 'op': 'keyword', # 操作类型为关键词搜索
- 'cname': '', # 城市名称(此处为空)
- 'pid': '', # 其他参数(此处为空)
- 'keyword': keyword, # 用户输入的关键词
- 'pageIndex': page, # 当前请求的页面索引
- 'pageSize': 1000, # 每页显示的门店数量
- }
-
- # 尝试发送请求并处理响应
- try:
- # 发送 GET 请求,请求参数包括 URL、参数和头部信息
- response = requests.get(url=url, params=params, headers=headers)
-
- # 检查响应状态码,如果不是 200,将引发 HTTPError 异常
- response.raise_for_status()
-
- # 获取响应内容
- page_text = response.text
-
- # 构建文件名,包括关键词、页码和 .html 扩展名
- filename = f'{keyword}_page_{page}.html'
-
- # 打开一个文件,以写入模式打开,并指定编码为 utf-8
- with open(filename, 'w', encoding='utf-8') as fp:
- # 将响应内容写入到文件中
- fp.write(page_text)
-
- # 打印一条消息,表明文件已经成功保存
- print(f'{filename} 保存成功!!!')
-
- # 捕获由 requests 库抛出的任何异常
- except requests.RequestException as e:
- # 打印异常信息
- print(f'请求错误: {e}')