您的位置:首页 > 教育 > 培训 > 可视化微信小程序制作工具_济南最新防疫政策调整_谷歌收录查询_百度收录提交网站后多久收录

可视化微信小程序制作工具_济南最新防疫政策调整_谷歌收录查询_百度收录提交网站后多久收录

2025/2/25 10:16:53 来源:https://blog.csdn.net/Liuzhengyue_/article/details/144365103  浏览:    关键词:可视化微信小程序制作工具_济南最新防疫政策调整_谷歌收录查询_百度收录提交网站后多久收录
可视化微信小程序制作工具_济南最新防疫政策调整_谷歌收录查询_百度收录提交网站后多久收录

1. 导入必要的库


   - `urllib.request`:用于发送HTTP请求。
   - `urllib.parse`:用于对URL进行编码。
   - `fake_useragent.UserAgent`:用于生成随机的用户代理,模拟真实的浏览器行为。
   - `webbrowser`:用于在浏览器中打开文件或URL。

2. 生成用户代理 


   使用`fake_useragent.UserAgent()`来创建一个`UserAgent`对象,并通过`.random`属性获取一个随机的用户代理字符串。这样可以避免请求被网站识别为爬虫。

   ua = UserAgent()headers = {'User-Agent': ua.random,}

3. 构造请求URL


   使用`urllib.parse.urlencode`对查询参数(例如 `wd=python`)进行URL编码,并将其附加到百度搜索的URL中。

 url = 'https://www.baidu.com/s?' + parse.urlencode({'wd': 'python'})

4.发送HTTP请求


   使用`urllib.request.Request`构造一个请求对象,并传入请求头(包括随机生成的用户代理)。然后,使用`urllib.request.urlopen`发送请求并接收响应。

 req = request.Request(url, headers=headers)response = request.urlopen(req)

5. 读取和保存响应内容 


   响应内容以HTML格式返回,使用`.read()`方法读取响应并解码成UTF-8格式的字符串。将该内容保存到本地文件`baidu.html`。

  html = response.read().decode('utf-8')with open('baidu.html', 'w', encoding='utf-8') as f:f.write(html)

6. 打开浏览器查看结果


   使用`webbrowser.open`方法在默认浏览器中打开保存的HTML文件。

webbrowser.open('baidu.html')

完整代码:

from urllib import request
from urllib import parse
from fake_useragent import UserAgent
import webbrowserua = UserAgent()
headers = {'User-Agent': ua.random,
}
url = 'https://www.baidu.com/s?'+parse.urlencode({'wd':'python'})# 发送请求
req = request.Request(url, headers=headers)
# 接收响应
response = request.urlopen(req)
# 读取响应内容
html = response.read().decode('utf-8')
with open('baidu.html', 'w', encoding='utf-8') as f:f.write(html)
# 打开浏览器显示结果
webbrowser.open('baidu.html')

 总结:
这个工作流的目的是:
1. 模拟浏览器请求百度搜索页面。
2. 获取并保存HTML内容。
3. 使用浏览器展示保存的HTML文件。

这样做能够确保你的请求不容易被识别为爬虫,并且可以查看百度搜索的结果。

如果您有其他问题,或者需要进一步优化这个流程,欢迎继续提问!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com