项目十三:搜狗——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)

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

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

相关推荐
MasonYyp几秒前
基于Python可定制开发的智能体框架
开发语言·python
橘颂TA15 分钟前
【Linux】读写锁
大数据·linux·开发语言·c++·读写锁
lv__pf27 分钟前
集合框架1
java·开发语言
weixin_4249993629 分钟前
PHP源码在双硬盘系统如何优化_硬件存储分配建议【指南】
jvm·数据库·python
qq_1898070338 分钟前
json ignore反序列化?_?JSON反序列化时忽略字段的json----标签使用方法.txt
jvm·数据库·python
zhangchaoxies38 分钟前
让水平滚动条始终固定在页面底部,实现跨视口的横向滚动控制
jvm·数据库·python
justjinji1 小时前
如何用组合继承模式实现父类方法复用与子类属性独立
jvm·数据库·python
We་ct1 小时前
LeetCode 64. 最小路径和:动态规划入门实战
开发语言·前端·算法·leetcode·typescript·动态规划
CoderCodingNo1 小时前
【CSP】CSP-J 2019 江西真题 | 次大值 luogu-P5682 (适合GESP四、五级及以上考生练习)
开发语言·c++·算法
djjdjdjdjjdj1 小时前
PHP函数如何监控CPU温度传感器_PHP读取核心温度硬件值【详解】
jvm·数据库·python