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('爬虫结束!!')
将爬取结果用浏览器打开结果如下:
.
.
.
实战二:百度翻译破解,爬取网页的部分信息。
我们就想编写一个爬虫,使输入特定的英文,能抓取其对应的中文意思。
我们打开该网页的开发工具,找到honey 对应的network,并找到query:honey。
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