如何通过python爬取百度的完整搜索内容
时间: 2023-11-01 21:07:45 浏览: 46
要通过Python爬取百度的完整搜索内容,你可以使用第三方库requests和BeautifulSoup来实现。下面是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
def baidu_search(keyword):
url = f'https://www.baidu.com/s?wd={keyword}'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}
response = requests.get(url, headers=headers)
if response.status_code == 200:
soup = BeautifulSoup(response.text, 'html.parser')
results = soup.find_all('div', class_='result')
for result in results:
title = result.find('h3').text
link = result.find('a')['href']
snippet = result.find('div', class_='c-abstract').text
print(f'Title: {title}')
print(f'Link: {link}')
print(f'Snippet: {snippet}')
print('---')
else:
print('Failed to retrieve search results.')
keyword = 'python web scraping'
baidu_search(keyword)
```
上述代码中,我们首先构造了百度搜索的URL,然后发送GET请求获取搜索结果页面的HTML内容。接着,使用BeautifulSoup对HTML进行解析,提取每个搜索结果的标题、链接和摘要,并打印出来。
注意,在发送请求时,我们添加了一个User-Agent头部,模拟浏览器访问。这是因为百度会根据User-Agent来判断请求是否来自真实的浏览器,如果不添加该头部可能无法正常获取搜索结果。
请注意,这只是一个简单的示例代码,实际应用中可能需要处理更多的异常情况,并且需要进一步处理网页内容以提取更多信息。