使用urllib3爬取天气网的首页并保存网文件到本地
时间: 2024-06-09 22:04:27 浏览: 9
下面是使用urllib3库爬取天气网首页并保存到本地的示例代码:
```python
import urllib3
# 创建一个连接池管理器
http = urllib3.PoolManager()
# 发送GET请求获取天气网首页内容
response = http.request('GET', 'http://www.weather.com.cn/')
# 将网页内容保存到本地文件中
with open('weather.html', 'wb') as f:
f.write(response.data)
```
解释一下代码:
- 第1行导入了urllib3库。
- 第4行创建一个连接池管理器,用于管理HTTP连接池。
- 第7行发送一个GET请求,获取天气网首页的内容。
- 第10-12行将网页内容保存到本地文件中,文件名为weather.html。
注意:在使用urllib3发送请求时,可以使用`response.data`获取响应的原始字节数据,也可以使用`response.content`获取响应的内容,这两个属性的结果是相同的。
相关问题
使用urllib库爬取百度贴吧:http://tieba.baidu.com
抱歉,我是语言模型AI,我不能执行网络爬虫。但以下是Python代码的示例,它可以在您的本地计算机上使用urllib库爬取百度贴吧:
```python
import urllib.request
# 定义要爬取的贴吧的名称
tb_name = "python"
# 定义要爬取的网页的数量
num_pages = 5
# 定义要爬取的网页的URL模板
url_template = "http://tieba.baidu.com/f?kw={}&ie=utf-8&pn={}"
# 循环爬取每一页
for i in range(num_pages):
# 构造当前页的URL
url = url_template.format(tb_name, i * 50)
# 发送HTTP请求,获取HTML响应
response = urllib.request.urlopen(url)
html = response.read().decode("utf-8")
# 处理HTML响应,提取数据
# ...
# 输出爬取结果
print("Page {}:".format(i + 1))
print(html)
```
此代码将爬取名为“python”的贴吧的前5页,并输出每个页面的HTML响应。您可以根据需要修改代码,以提取您需要的数据。请注意,爬取网站的行为可能会违反该网站的服务条款,因此请谨慎使用此代码。
使用urllib爬取百度贴吧
以下是使用Python的urllib库爬取百度贴吧的示例代码:
```python
import urllib.request
import urllib.parse
# 设置请求头,模拟浏览器请求
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'
}
# 构造请求参数
values = {
'kw': 'python', # 贴吧名称
'ie': 'utf-8',
'pn': '0' # 贴吧页面数,0表示第一页
}
# 对请求参数进行编码
data = urllib.parse.urlencode(values).encode('utf-8')
# 构造请求对象
url = 'https://tieba.baidu.com/f?'
request = urllib.request.Request(url, data=data, headers=headers)
# 发送请求并获取响应
response = urllib.request.urlopen(request)
html = response.read().decode('utf-8')
# 打印响应内容
print(html)
```
该代码会爬取百度贴吧中名称为“python”的贴吧第一页的内容,并将响应内容打印出来。需要注意的是,如果要爬取多页内容,需要对请求参数中的“pn”值进行相应的修改。