用python写一个百度百科的爬虫代码
时间: 2023-03-13 07:55:01 浏览: 85
我可以为你提供一个Python爬取百度百科的代码示例:import requests
from bs4 import BeautifulSoup
url = 'https://baike.baidu.com/item/Python'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36'
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, 'lxml')
content = soup.find('div', class_='lemma-summary') # 获取百科内容
print(content.text.replace('\n', '').strip())
相关问题
使用分布式爬虫爬取百度百科网站Python代码
使用分布式爬虫可以提高爬取速度和效率,以下是使用Scrapy框架实现分布式爬虫爬取百度百科网站Python代码的步骤:
1. 安装Scrapy和Redis:在命令行中输入 pip install scrapy 和 pip install redis 进行安装。
2. 配置Redis:在配置文件settings.py中添加以下代码:
```
DUPEFILTER_CLASS = "scrapy_redis.dupefilter.RFPDupeFilter"
SCHEDULER = "scrapy_redis.scheduler.Scheduler"
SCHEDULER_PERSIST = True
REDIS_URL = 'redis://localhost:6379'
```
3. 创建Spider:在命令行中输入 scrapy genspider baidubaike baike.baidu.com 进行创建。
4. 编写Spider代码:在Spider类中定义start_urls和parse方法,根据需要进行数据的抓取和处理。例如:
```
import scrapy
from scrapy_redis.spiders import RedisSpider
class BaiduBaikeSpider(RedisSpider):
name = 'baidubaike'
redis_key = 'baidubaike:start_urls'
def parse(self, response):
item = {}
item['title'] = response.xpath('//h1/text()').extract_first()
item['content'] = response.xpath('//div[@class="main-content"]/div[@class="para"]/text()')
yield item
```
5. 启动Redis和Spider:在命令行中先启动Redis,再输入 scrapy crawl baidubaike 进行启动。
6. 查看结果:在命令行中输入 scrapy crawl baidubaike -o result.json 进行结果输出。
python爬去百度百科网络爬虫
您好,想要爬取百度百科的话,可以使用 Python 中的 requests 库和 BeautifulSoup 库。具体步骤如下:
1. 使用 requests 库发送 HTTP 请求,获取百度百科页面的 HTML 代码。
2. 使用 BeautifulSoup 库解析 HTML 代码,提取出需要的信息。
以下是示例代码:
```python
import requests
from bs4 import BeautifulSoup
url = 'https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB'
response = requests.get(url)
html = response.content
soup = BeautifulSoup(html, 'html.parser')
# 提取标题
title = soup.find('h1').text
print(title)
# 提取简介
summary = soup.find('div', {'class': 'lemma-summary'}).text.strip()
print(summary)
# 提取正文
content = soup.find('div', {'class': 'lemma-main-content'}).text.strip()
print(content)
```