编写一个简单的爬虫程序,要求用户输入一个搜索关键字,然后将爬取到的搜狗网站上的搜索结果保存在本地文件中
时间: 2024-04-21 11:27:43 浏览: 102
好的,这是一个简单的爬虫程序的示例代码:
```python
import requests
from bs4 import BeautifulSoup
# 定义获取搜索结果的函数
def get_search_results(keyword):
url = f'http://www.sogou.com/web?query={keyword}'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'}
r = requests.get(url, headers=headers)
soup = BeautifulSoup(r.text, 'html.parser')
results = []
for result in soup.select('.results .rb'):
title = result.select_one('h3 a').text
link = result.select_one('h3 a')['href']
desc = result.select_one('.ft').text
results.append({'title': title, 'link': link, 'desc': desc})
return results
# 获取用户输入的关键字
keyword = input('请输入搜索关键字:')
# 获取搜索结果
results = get_search_results(keyword)
# 将搜索结果保存在本地文件中
with open(f'{keyword}.txt', 'w', encoding='utf-8') as f:
for result in results:
f.write(f"{result['title']}\n{result['link']}\n{result['desc']}\n\n")
```
说明:
1. 使用 requests 库向搜狗搜索发送 GET 请求,获取搜索结果页面的 HTML。
2. 使用 BeautifulSoup 库解析 HTML,获取搜索结果列表。
3. 将每个搜索结果的标题、链接和描述保存在 results 列表中。
4. 将 results 列表中的每个搜索结果写入本地文件中,文件名为搜索关键字。
阅读全文