欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python爬虫入门实战

程序员文章站 2022-03-04 09:55:08
实战一:网页关键字爬虫,以爬取搜狗上录入的李佳琦为例:import requestsheaders={ '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'}url ='https://www.sogou.com/sgo?'gjz=input('enter a work:')para...

#UA:User-Agent (请求载体的身份标识)
门户网站的服务器会检测对应请求载体的身份标识。 如果检测到的请求载体的身份标识是某一款浏览器的时候,那么证明该请求是一个正常的请求。但是如果检测到请求载体的身份标识是爬虫的话,那么该服务器端就有可能拒绝该次请求。这也就是我们之前所说的反爬机制。这个时候我们就应该制定反反爬策略。也就是UA伪装,让爬虫对应的请求载体的身份标识伪装成某一款浏览器。
.
.

实战一:网页关键字爬虫,以爬取搜狗上录入的李佳琦全部数据为例:

import requests
headers={
    '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'
}
url ='https://www.sogou.com/sgo?'
gjz=input('enter a work:')
param ={
    'query':gjz
}
response =requests.get(url=url,params=param,headers=headers)
page_text =response.text
#print(page_text)
with open ('./lijiaqi.html','w',encoding='utf-8') as fp:
    fp.write(page_text)
print('爬虫结束!!')

将爬取结果用浏览器打开结果如下:

Python爬虫入门实战

.
.
.

实战二:百度翻译破解,爬取网页的部分信息。

我们就想编写一个爬虫,使输入特定的英文,能抓取其对应的中文意思。
Python爬虫入门实战

我们打开该网页的开发工具,找到honey 对应的network,并找到query:honey。

Python爬虫入门实战

import requests
import json
if __name__=="__main__":
    headers={
        'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.125 Safari/537.36'
    }
    url='https://fanyi.baidu.com/sug'
    word=input('entert a word:')
    data={
        'kw':word
    }
    response=requests.post(url=url,data=data,headers=headers)
    dic_obj=response.json()
    dic_obj=dic_obj['data']
    for i in dic_obj:

        print(i)
    print('over');

运行结果:

F:\untitled3\venv\Scripts\python.exe F:/untitled3/2021.1.14.6.py
entert a word:honey
{'k': 'honey', 'v': 'n. 蜂蜜; <口>宝贝; 可爱的人 adj. 蜜的; 心爱的; 加了蜜的; (蜜一样)甘美的 vt'}
{'k': 'Honey', 'v': '[人名] [英格兰人姓氏] 赫尼职业名称,采集或销售蜂蜜者,或绰号,亲近用语,来源于古英语,含义是“'}
{'k': 'honeys', 'v': 'n. 花蜜; 蜂蜜( honey的名词复数 ); <口>亲爱的; 蜜(黄)色'}
{'k': 'honeyed', 'v': 'adj. 有蜂蜜的,甜的; (话语、奉承等)甜言蜜语的'}
{'k': 'honeybee', 'v': 'n. 蜜蜂'}
over

Process finished with exit code 0

本文地址:https://blog.csdn.net/xiaoyun5555/article/details/112627279