项目十三:搜狗——python爬虫实战案例

根据文章项目十二:简单的python基础爬虫训练-CSDN博客的简单应用,这一次来升级我们的技术,那么继续往下看,希望对技术有好运。

还是老样子,按流程走,一条龙服务,嘿嘿。

第一步:导入需要的库------requests库

python 复制代码
import requests

第二步:指定网址首页,看你个人选择,这里用搜狗,网址为搜狗搜索引擎 - 上网从搜狗开始

python 复制代码
url = 'https://www.sogou.com/'

第三步:发送get请求信息

python 复制代码
response = requests.get(url = url)

第四步:输出响应信息

python 复制代码
print(req.text)

完整代码如下

python 复制代码
import requests # 导入requests模块
url = 'https://www.sogou.com' # 要爬取的网址
req = requests.get(url) # 发起请求
print(req.text) # 输出响应信息

第五步

输出结果

ok,就当给未来的自已上一道保险杠,免得自已不知道写的啥。🎁🎁🎁🎁

嗯,这一次我们要爬取搜狗指定词条所对应的搜索结果,还是老样子,继续往下走

第一步:处理url携带的参数,封装到字典

python 复制代码
kw = input('enter a word:')
param = {
    'query':kw
}

参考来源(图中第三步可以不用,看个人需要)

第二步:伪装请求头,模拟用户行为,封装到字典

python 复制代码
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}

注意这个请求头都是在浏览器标头中复制找到即可,但是有时候会发生变化,需要实际运用。如图

第三步:发送请求

python 复制代码
response = requests.get(url = url, params = param, headers = headers)

第四步:输出信息

python 复制代码
page_text = response.text
print(len(page_text))

完整代码如下

python 复制代码
import requests 
url = 'https://www.sogou.com/web'
kw = input('enter a word:') #输入搜索词
param = {
    'query':kw #搜索词
}
headers = {
    'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}
response = requests.get(url = url, params = param, headers = headers)
page_text = response.text
print(len(page_text))

输出结果

第五步:存储信息

代码如下

python 复制代码
fileName = 'kw' + '.html'
with open(fileName, 'w', encoding='utf-8') as fp:
    fp.write(page_text)

跟上一篇文章代码操作一样,自行体会,嘿嘿

好了,简单的案例我们能够简单应用,后续会不定时分享小小心得,期待有好运到来🎁💖

相关推荐
代码羊羊几秒前
Rust基础类型与变量全解析
开发语言·后端·rust
2301_813599555 分钟前
mysql为什么不要在索引列上做运算_mysql函数索引使用场景
jvm·数据库·python
纤纡.7 分钟前
基于 PyQt5 的桌面应用开发实战:登录、预测、计算器、摄像头多功能系统
开发语言·人工智能·qt·计算机视觉
好家伙VCC11 分钟前
**发散创新:基于FFmpeg的视频编码优化实践与实战代码解析**在现代多媒体系统中,
java·python·ffmpeg·音视频
于慨11 分钟前
flutter基础组件用法
开发语言·javascript·flutter
历程里程碑13 分钟前
二叉树---翻转二叉树
开发语言·c++·elasticsearch·链表·搜索引擎·tornado·dash
人工干智能18 分钟前
科普:CountVectorizer、TF、TF-IDF,三者层层递进
python·tf-idf
qq_3422958223 分钟前
如何监控集群 interconnect_ping与traceroute验证心跳通畅
jvm·数据库·python
qq_3422958227 分钟前
Go语言错误处理如何做_Go语言error错误处理教程【实用】
jvm·数据库·python
qq_3345635527 分钟前
如何在phpMyAdmin中执行多条SQL语句_分号分隔与批量执行解析
jvm·数据库·python