python爬取百度搜索_Python-Scrapy抓取百度数据并分析
时间: 2023-12-29 10:02:05 浏览: 202
这里是一个简单的Python-Scrapy爬取百度搜索结果并对搜索结果进行分析的例子:
首先,我们需要安装Scrapy和lxml库。在命令行中输入以下命令:
```
pip install scrapy
pip install lxml
```
然后,我们可以创建一个名为baidu_spider的新项目,并在项目中创建一个名为baidu的新爬虫。在命令行中输入以下命令:
```
scrapy startproject baidu_spider
cd baidu_spider
scrapy genspider baidu www.baidu.com
```
现在,我们在baidu_spider/spiders/baidu.py文件中编写我们的代码。我们将使用Scrapy的Selector来选择我们想要的数据。代码如下:
```python
import scrapy
class BaiduSpider(scrapy.Spider):
name = "baidu"
allowed_domains = ["www.baidu.com"]
start_urls = ["http://www.baidu.com/s?wd=python"]
def parse(self, response):
# 获取搜索结果
results = response.xpath('//div[@class="result c-container "]')
for result in results:
# 获取标题和链接
title = result.xpath('.//h3/a/text()').extract_first().strip()
link = result.xpath('.//h3/a/@href').extract_first()
# 获取摘要
abstract = result.xpath('.//div[@class="c-abstract"]//text()').extract()
abstract = "".join(abstract).strip()
# 打印结果
print(title)
print(link)
print(abstract)
```
在这个例子中,我们首先定义了我们的爬虫的名称,允许的域名和起始URL。然后我们定义了一个parse函数来处理响应。在parse函数中,我们使用XPath选择器来选择搜索结果。我们使用extract_first()和extract()方法来提取标题、链接和摘要。最后,我们打印了结果。
现在,我们可以在baidu_spider目录中运行以下命令来运行我们的爬虫:
```
scrapy crawl baidu
```
这将启动我们的爬虫并开始爬取百度搜索结果。在控制台中,您应该能够看到我们的爬虫正在输出搜索结果。
阅读全文